拥有所有层与ggplot传说(Having all layers in the legend wit

2019-07-03 20:02发布

我怎么可能让代表所有在我的图表绘制的曲线的传奇? 目前,对第一层(基于“颜色”审美),但其他层中产生的自动说明在此说明不包含(表示在所有的观察“价格”可变的密度的黑色曲线)。

我想象我的问题肯定是来自于behing ggplot包的概念不完全的理解。

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

Answer 1:

在原则ggplot2是每一个审美被映射为一个刻度。 所以,如果你想在A层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)
    )



文章来源: Having all layers in the legend with ggplot
标签: r ggplot2 legend