我有一个字符串向量,比如 c("E^A","S^P","lambda","T","E^Q","E^Q","AT")
,我想使用数学表达式将它们绘制为 x 轴标签。 (我相信我已经用数学表达式格式编写了它们,但带有引号)
当我放text(x,par("usr")[3]-0.2,labels=substitute(A,list(A=label)),srt=20,pos=1,adj = c(1.1,1.1), xpd = TRUE,cex=0.7)
x轴只显示“E^A”、“S^P”、“lambda”、“T”、“E^Q”、“E^Q”、“AT”,而不是字符串的数学解释,以及我猜是因为它们不被视为数学符号。
那我怎样才能得到数学标签呢?非常感谢!
最佳答案
一般情况下,使用 expression
(见 ?plotMath
):
plot(1,main=expression(E^A))
请注意,'E^A' 不在引号中。
要从字符向量生成表达式,请使用
parse(text=...)
:lbls <- c("E^A","S^P","lambda","T","E^Q","E^Q","AT")
x <- 1:length(lbls)
y <- runif(length(lbls))
# I'm just going to draw labels on the (x,y) points.
plot(x,y,'n')
text(x,y, labels=parse(text=lbls)) # see the parse(text=lbls) ?
关于string - 如何将字符串转换为R中的数学表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9971079/