图形中的文本有时需要使用数学表达式,如
的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绘图系统中使用。

