【发布时间】:2020-03-11 17:03:05
【问题描述】:
如何使用 ggplot2 绘制堆积条形图?
鉴于以下数据,我希望 x 轴为年份,y 轴被视为堆叠,late_percent 为比例。
我希望 y 轴根据给定的百分比填充 2 种颜色:0.16 表示 16% 一种颜色,84% 表示另一种颜色;每年都采用同样的方法。
这是我的数据框:
year percent
1: 2015 0.16
2: 2016 0.23
3: 2017 0.14
4: 2018 0.64
5: 2019 0.15
6: 2020 0.24
我试过了:
ggplot(data = mydata)+
geom_bar(aes(x = year, y = percent),position = 'fill', stat = 'identity')
【问题讨论】:
-
您可以向我们展示您到目前为止所尝试的内容。
-
把填入aes()然后使用position = position_stack()
-
堆叠了哪些值?在 x 轴值
year = 2015处,您有一个y值percent = 0.16。堆积条形图需要 2 个或更多 y 值来表示单个 x 值,通常通过fill颜色映射来区分。你所有的年份都有一个 y 值,所以没有什么可以叠加的。如果有更多的 y 值,您仍然需要第三个变量来区分堆栈中的内容。 -
如上所述,如果每个 x 轴值有多个变量,则“堆叠”是有意义的。但是,查看您的代码,
position = 'fill'参数在这里没有多大意义。试试这样的:ggplot(data = mydata, aes(x=year)) + geom_col(aes(y=percent, fill = percent)) -
@GregorThomas 添加你的答案