我想在ggplot2
中绘制一个标签,如下所示:
Value is $\sigma$,R^{2} = 0.6
其中Value is
为普通字体,$\sigma$
是希腊小写sigma字母,R^{2} = 0.6
显示为一个带有上标2
的R
,后跟等于号(=
)和0.6
。如何在ggplot的factor
和R的xlab、ylab
等参数中使用?
我想在ggplot2
中绘制一个标签,如下所示:
Value is $\sigma$,R^{2} = 0.6
其中Value is
为普通字体,$\sigma$
是希腊小写sigma字母,R^{2} = 0.6
显示为一个带有上标2
的R
,后跟等于号(=
)和0.6
。如何在ggplot的factor
和R的xlab、ylab
等参数中使用?
类似这样:
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')))
编辑
另一个选项是使用带有parse=T
的annotate
:
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)))
与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
和所有这些成对引号。即使您想要创建一个希腊字母,您所需做的就是将其用引号括起来,并在每个侧面加上*
或~
。向绘图数学表达式的新手提供paste
的一个问题是,他们会认为它与语言中的其他paste
相同。请注意,保留HTML标记。xyplot(y~x,dat=data.frame(x=0,y=0),xlab=expression(Value~is~sigma~R^{2}==0.6))
。 - agstudy
\u03c3
。 - IRTFMpaste
从未给我留下一个好印象;尝试使用xlab(bquote(Value~is~sigma~R^{2}==.(r2.value)))
代替。 - baptiste