繁体   English   中英

使用ggplot在图例中包含所有图层

[英]Having all layers in the legend with ggplot

如何制作代表我的图表中绘制的所有曲线的图例? 目前,为第一层生成自动图例(基于“颜色”美学),而在该图例中未包含另一层(表示所有观察中“价格”变量密度的黑色曲线)。

我认为我的问题肯定来自于对ggplot包的概念的不完全理解。

ggplot(diamonds) + 
  geom_density(aes(x = price, y = ..density.., colour = cut)) +
  geom_density(aes(x = price,y = ..density..))

在此输入图像描述

ggplot2的原则是每个美学都被映射到一个尺度。 因此,如果要在colour标中包含图层,则需要将该图层映射为colour

像这样:

ggplot(diamonds, aes(x=price)) + 
  geom_density(aes(colour = cut)) +
  geom_density(aes(colour="Overall"), size=1.5)

在此输入图像描述


注意:您可以通过指定手动色标来对颜色进行额外控制:

ggplot(diamonds, aes(x=price)) + 
  geom_density(aes(colour = cut)) +
  geom_density(aes(colour="Overall"), size=1.5) +
  scale_colour_manual(
    limits=c("Overall", levels(diamonds$cut)),
    values=c("black", 2:6)
    )

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM