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

标签 r ggplot2 legend

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

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

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

enter image description here

最佳答案

ggplot2中的原理是每个美学都映射到一个比例。所以,如果你想在 colour 中包含一个层比例,您需要将该图层映射到 colour .

像这样:

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

enter image description here

注意:您可以通过指定手动色标对颜色进行额外控制:
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)
    )

enter image description here

关于r - 使用 ggplot 在图例中包含所有图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13394809/

相关文章:

matlab - 如何从 Matlab 中的轴中辨别图例?

r - 为R中的不同点集设置自己的颜色和形状比例

r - 在 R 中绘制 lme 模型(带有多项式)的预测值

r - 哪个正则表达式从文本中的引号中删除标点符号

r - 如何在R中反转ggmap栅格图像的颜色?

r - 如何仅使用部分数值变量来对 geom_tile ggplot 中的图 block 进行排序

r - ggplot2 R 上的连续到离散图例

c - 将操作应用于 C 中的整个内存块

r - 如何在 igraph 中添加数据框作为具有匹配 id 的顶点属性?

r - 如何根据在ggplot中分配的概率对单词重新排序