cra*_*ian 3 plot expression r legend plotmath
我正在尝试在我的情节中格式化图例,但由于希腊语和上标,我必须使用表达式().但是,当我想显示r ^ 2 = 0.45,P <0.0001时,我得到r ^ 2 = 0.45 P <1e-04,当我输入
legend(expression(r^2==0.9230~~P<0.0001))
Run Code Online (Sandbox Code Playgroud)
我试着查找list()函数,但它对逗号没有帮助.我也找不到在expression()函数中使用小数的任何内容.
任何建议,将不胜感激.
谢谢
Jos*_*ien 12
您可以使用paste()(在调用中expression())将字符串和不带引号的表达式拼接在一起.未引用的位将使用example(plotmath)和所展示的特殊规则进行评估demo(plotmath),而字符串将逐字打印.
下面是一个例子(也使用phantom(),因为<运营商期望/需要的东西给它的两个左和右):
plot(1)
legend(x = "topleft",
legend = expression(paste(r^2==0.9230, ", ", P<phantom(), "0.0001")))
Run Code Online (Sandbox Code Playgroud)

这是使用substitute它的另一种方法避免phantom:
plot(1)
options(scipen=10)
legend(x = "topleft",
legend = substitute(list(r^2 == r2, P < p), list(r2=0.923, p=0.0001)))
Run Code Online (Sandbox Code Playgroud)
