繁体   English   中英

R图:将格式化的值带入基础图形图例中的expression()中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM