【发布时间】:2020-06-01 17:21:19
【问题描述】:
这是作为参考的数据
df <- data.frame(a = c(3,3,3,3,3,2,2,3,2,1,1,1,3,1,3), b = c(1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2), c = c(4, 5, 3, 2, 4, 2, 3, 4, 5, 4, 4, 3, 3, 1, 2) )
我想为每个方面绘制一个具有 a 比例的条形图。同时我希望根据 b 值对条进行着色。 变量 b 与计算百分比无关。这就是我想出来的,当我设置fill = c时,它将堆叠的颜色一分为二,一个对应1,另一个对应NA。
ggplot(aes(x = a, y = ...prop..., group = 1, fill = b)) +
geom_bar(position = "stack") +
facet_wrap(~c, nrow = 1, ncol = 5) +
labs(title = "Count of a among c")
我怎样才能得到与此类似的结果,但每个分面环绕的 a 比例而不是绝对值?
谢谢!
【问题讨论】:
-
您是否尝试过构建一个比例变量,然后在绘图中使用它?
-
是的,我考虑过这一点,但是由于我主要使用具有大量变量的 igraph 对象并且我需要一个简单的代码,我想知道是否有解决方案可以保持 df 原样.事实证明,多亏了伊恩的回应,这是可能的。
标签: r ggplot2 stack bar-chart prop