我为多个数据集生成了一个图。每个数据集都应该有自己的图例,其中可能包含希腊字母、plotmath 符号或 sub 和 superscrition。我想循环生成图例文本。
如果只有一个图例文本,Bquote 工作正常。如果我尝试添加额外的图例文本, plotmath-commads 会丢失,...
x <- 0:10
y1 = x * x
y2 = x * 10
plot (1,1, type="n", xlab=bquote(Omega), ylab="Y", las=1, xlim=range(x), ylim=range(y1, y2))
lines(x, y1, col=1, pch=1, type="b")
lines(x, y2, col=2, pch=2, type="b")
# generate legend texts (in a loop)
legend_texts = c(
bquote(Omega^2)
, bquote(Omega%*%10)
)
# Using a single bquote works fine:
#legend_texts = bquote(Omega^2)
#legend_texts = bquote(Omega%*%10)
legend(
"topleft"
, legend = legend_texts
, col = c(1:2)
, pch = c(1:2)
, lty = 1
)
最佳答案
将“legend_texts”更改为:
# generate legend texts (in a loop)
legend_texts = c(
as.expression(bquote(Omega^2))
, as.expression(bquote(Omega%*%10))
)
来自
?legend
的帮助页面,“传奇”参数被描述为:a character or expression vector. of length ≥ 1 to appear in the legend. Other objects will be coerced by as.graphicsAnnot.
输出:
关于r - 在 R 图的图例文本中使用子/上标和特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15288900/