我正在使用 ggplot 绘制散点图,根据变量更改颜色和形状,如下面代码生成的图像所示。
a<-c(2,5,2,6,1,2,3,6)
b<-c(5,2,6,7,8,3,1,9)
c<-c(rep("n",4),rep("m",4))
data<-data.frame(a,b,c)
ggplot(data,aes(a,b,shape=c,color=c))+
geom_point()
颜色和形状都可以在同一个图例中看到,正如预期的那样。如果对标题进行简单的更改,我必须对形状颜色和形状都进行更改,并且效果很好。
ggplot(data,aes(a,b,shape=c,color=c))+
geom_point()+
labs(color="dif",shape="dif")
当我使用 expression()
编写上标时,问题就来了。如果我使用带有简单单词的表达式,它也能正常工作,但是当添加上标时,形状和颜色的图例不会再次合并。
ggplot(data,aes(a,b,shape=c,color=c))+
geom_point()+
labs(color=expression((ng~g^{-1})),shape=expression((ng~g^{-1})))
这个问题有什么解决办法吗?
最佳答案
如果将表达式存储在对象中,则可以避免这种奇怪的行为:
title_exp <- expression((ng~g^{-1}))
ggplot(df, aes(a, b, shape = c, color = c)) +
geom_point() +
labs(color = title_exp, shape = title_exp)
关于r - 在 ggplot2 中合并图例的标题中使用上标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64116979/