ggplot图例标题设置:分组密度图保留单个图例时修改标题的方法
修改ggplot分组密度图的单个图例标题
嘿,你已经把color和linetype都绑定到同一个分组变量factor(G)上了,ggplot其实已经自动帮你把这两个美学属性合并成一个共享图例啦~要修改这个图例的标题,有两种简单的方法,都能完美保留单个图例:
方法1:用labs()快速统一设置
直接给color和linetype设置完全相同的标题,ggplot就会自动合并成一个带新标题的图例,这也是最常用的方法:
ggplot(data = data, aes(x=X, group=G, color=factor(G), linetype = factor(G))) + geom_density() + labs(color = "你的自定义标题", linetype = "你的自定义标题")
方法2:用guides()精细控制
如果你想更灵活地调整图例,也可以用guides()函数,同样把两个属性的标题设成一致就行:
ggplot(data = data, aes(x=X, group=G, color=factor(G), linetype = factor(G))) + geom_density() + guides( color = guide_legend(title = "你的自定义标题"), linetype = guide_legend(title = "你的自定义标题") )
甚至可以简化成只设置其中一个,把另一个设为FALSE(因为它们已经绑定到同一个变量了):
ggplot(data = data, aes(x=X, group=G, color=factor(G), linetype = factor(G))) + geom_density() + guides( color = guide_legend(title = "你的自定义标题"), linetype = FALSE )
实际示例
拿内置的mtcars数据集举个例子,按气缸数cyl分组画油耗mpg的密度图,把图例标题改成"气缸数量":
ggplot(data = mtcars, aes(x=mpg, group=cyl, color=factor(cyl), linetype = factor(cyl))) + geom_density() + labs(color = "气缸数量", linetype = "气缸数量")
运行后你会看到,图例只有一个,标题就是你设置的内容,同时保留了颜色和线型的区分~
内容的提问来源于stack exchange,提问作者jkortner
相关产品推荐
相关产品推荐

