将方程式添加到R中的散点图中

时间:2013-06-10 20:32:05

标签: r plot expression legend

使用“图例”

将方程式添加到散点图中有点麻烦

一个简单的例子如下:

plot(1:100)

# The below code can work if I add "= 0.1234" directly.
legend(locator(1), expression(paste("Linear model: ", R^2, "= 0.1234",sep="")),
        text.col= "black",cex=1,bty="n")

# The below code cannot work if I add the "ps".
ps = "= 0.1234"

legend(locator(1), expression(paste("Linear model: ", R^2, ps, sep="")), 
       text.col= "red",cex=1,bty="n")

我的真正问题是这个例子有点复杂。

那我该如何修改这段代码?

1 个答案:

答案 0 :(得分:1)

“ps”对象作为表达式处理,即未被评估。要解决此问题,请使用bquote.()

 legend(locator(1), legend= bquote("Linear model: "* R^2*.(ps)), 
        text.col= "red",cex=1,bty="n")

BTW第一个版本在没有paste的情况下会更紧凑地表示:

legend(locator(1), expression(Linear~model*":"~ R^2 == 0.1234),
    text.col= "black",cex=1,bty="n")

唯一需要引用的是分号。