7

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

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

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

在此处输入图像描述

4

1 回答 1

8

原则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)
    )

在此处输入图像描述

于 2012-11-15T09:55:09.677 回答