[英]R plot: Bringing formatted values into expression() in base graphics legend
问题如下:我尝试制作一个图例,其中会有类似以下内容:
ɛ= 5 L /(mol cm)。 但是,该数字是计算得出的,这里是一个最小的示例:
plot(rnorm(10,3),rnorm(10,3))
epsilon.calc <- mean(rnorm(10,3))
legend("topleft",bty="n",legend=paste("epsilon=",format(epsilon.calc,digits=5),"L/(molcm)"))
legend("bottom",bty="n",legend=expression(epsilon,paste(format(epsilon.calc,digits=5)),"L/(molcm)"))
如果使用第一个图例,则可以粘贴数字(epsilon.calc),如果使用图例2,则可以正确的方式表达epsilon。 任何人都想结合如何在一个图例中结合那些expression()和paste()?
这就是我想要的:
legend("bottom",bty="n",legend=c(bquote(epsilon ==.(format(epsilon.calc, digits=5))),
expression( L/(mol %.% cm) )
) )
最好学会在不使用paste()
使用plotmath。 bquote
是完成评估的最简单机制,但也可以用substitute
方法完成。 paste
在表达式调用内部实际上是与paste
“外部”函数不同的函数。
这是单行版本:
legend("bottom",bty="n",
legend=bquote(epsilon ==.(format(epsilon.calc, digits=5))~(L/(mol %.% cm))
) )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.