【问题标题】:Why can't I add a fill layer to this plot为什么我不能在这个图中添加填充层
【发布时间】:2020-11-22 01:35:54
【问题描述】:

这将绘制一个条形图,其中 x 轴上的切割类型和 y 轴上数据集内切割的比例

library(ggplot2)

ggplot(data = diamonds) + 
    geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1))

这会绘制相同的条形图,但会根据该切割中钻石的颜色填充条形

ggplot(data = diamonds) + 
    geom_bar(mapping = aes(x = cut, y = ..prop.., group = 1, fill = color)) 

我看不出这两张图有什么区别。为什么“fill = color”在第二行代码中没有效果? TIA

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

    只需指定group = color

    *已编辑以在同一比例上显示所有比例

    ggplot(diamonds) + 
      geom_bar(aes(x = cut, y = ..prop.., group = color, fill = color),
               position = position_dodge(.9)) 
    

    【讨论】:

    • 很高兴知道这一点。在这种情况下,您似乎只需要指定group=color。我会更新我的答案。
    • 非常感谢你,安德鲁!但似乎 y 轴上的比例现在基于 3 - 有没有办法纠正它并将其恢复到正常的 100% 比例?
    • 这是正常的 100% 比例 - 堆叠表示是问题所在。如果您想以相同的比例查看所有比例,可以将其更改为分组条形。查看更新
    • 非常感谢!我正在自学 R,这个练习来自 R for Data Science 教科书,让我发疯了!使这个情节准确的步骤远远超出了目前所涵盖的范围,所以我想知道他们是否知道他们写了什么!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    相关资源
    最近更新 更多