61

我想绘制一个看起来像这样的标签ggplot2

Value is $\sigma$, R^{2} = 0.6其中Value is是普通字体,$\sigma$是希腊小写 sigma 字母,R^{2} = 0.6显示为 an R,带有上标2,后跟等号 ( =),后跟0.6. 如何在 ggplotfactor和 R 之类的参数中使用它xlab,ylab

4

2 回答 2

68

像这样的东西:

g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=0.6')))

编辑

另一种选择是使用annotatewith parse=T

g+ annotate('text', x = 0, y = 0, 
        label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20) 

在此处输入图像描述

编辑

如果在绘图期间计算常数 0.6,则该paste解决方案可能很有用。

r2.value <- 0.90
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
于 2013-02-28T01:16:43.707 回答
47

比 paste() 更简单的可能是:

g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
 g + xlab( expression(Value~is~sigma~R^{2}==0.6))
 # ~ for spaces, and * for no-space between (unquoted) expressions

通常paste,如果您使用正确的绘图连接词,则不需要所有这些成对的引号。即使您想要以其他方式创建希腊字母的文本,您所需要做的就是将其用引号括起来,并在两边加上 a*~。向新手提供 plotmath 表达式的一个问题paste是,他们认为它paste与语言的其他部分相同。

于 2013-02-28T01:29:51.313 回答