图形中的文本有时需要使用数学表达式,如
的2.5
需要使用下标,单位
涉及到希腊字母和上标,以及一些比较复杂的大型符号,如求和符号
、积分符号
等。对此,R语言的基础包提供了完善的处理办法:
grDevices
工具包提供了这些数学表达式的语法;base
工具包的expression()
函数用于将这些语法在图形中转换成实际的效果。下面举例说明:
x^2
对应的实际效果是,输出代码是expression(x^2)
;
pi
表示圆周率,代码expression(x^2)
在图形中输出的就是圆周率的符号;bolditalic()
。以上例子对应的R代码如下:
par(plt = c(0.05,0.95,0,1), ps = 20, adj = 0.5,
family = "mono")
plot(1:6, type = "n", axes = F, ann = F)
abline(v = 1:6, lty = 2)
## 不使用expression()函数
text(1.5,3, "x^2")
# 使用expression()函数
text(2.5,3, expression(x^2))
text(3.5,3, expression(pi))
text(4.5,3, expression(f(x)))
text(5.5,3, expression(bolditalic(f(x))))
下面汇总一下R语言中各类数学表达式的语法(左侧)和对应的实际效果(右侧)。
符号类表达式需要额外使用symbols()
函数进行转换,如expression(symbol("\042"))
。
需要注意的是,以上 语法虽然由R语言的基础绘图系统工具包grDevices
提供,但它属于通用语法,也可以在ggplot2
绘图系统中使用。