在R / ggplot2中将math符号和下标与常规字母混合使用

我想在ggplot2绘制一个如下所示的标签: Value is $\sigma$, R^{2} = 0.6其中Value is是普通字体, $\sigma$是希腊小写sigma字母, R^{2} = 0.6为带有上标2R ,接着是等号( = ),接着是0.6 。 这怎么可以在ggplot factor和参数的东西,如xlab,ylab 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'))) 

编辑

另一种select是使用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)) 

一般情况下,如果使用适当的plotmath连接符paste和所有这些配对引号是不需要的。 即使你想要的文本,否则会创build一个希腊字母,所有你需要做的就是用引号括起来,每边都有*~ 。 向新手绘制贴图expression的一个麻烦是,他们认为这与在其他语言中paste相同。