我怎么能制作一个图例来代表我的图表中绘制的所有曲线?目前,为第一层生成自动图例(基于“颜色”美学),但另一层(黑色曲线代表所有观察中“价格”变量的密度)不包含在此图例中。
我认为我的问题肯定来自对 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)
)
关于r - 使用 ggplot 在图例中包含所有图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394809/