以下是我的数据框的样子:

CatA    CatB   CatC
1        Y      A
1        N      B
1        Y      C
2        Y      A
3        N      B
2        N      C
3        Y      A
4        Y      B
4        N      C
5        N      A
5        Y      B

我想在 X 轴上有 CatA,在 Y 轴上有它的计数。这张图没问题。但是,我想为 CatB 创建组并将其与 CatC 堆叠在一起,以保持 Y 轴的计数。这是我尝试过的,这就是它的外观:

r - 在 R 中组合分组和堆叠条形图-LMLPHP

我希望它看起来像这样:

r - 在 R 中组合分组和堆叠条形图-LMLPHP

我的代码:
ggplot(data, aes(factor(data$catA), data$catB, fill = data$catC))
+ geom_bar(stat="identity", position = "stack")
+ theme_bw() + facet_grid( ~ data$catC)

PS:很抱歉提供图像链接,因为我无法上传它,每次上传时都会在imgur上出现错误。

最佳答案

您可以使用方面:

df <- data.frame(A = sample(1:5, 30, T),
                 B = sample(c('Y', 'N'), 30, T),
                 C = rep(LETTERS[1:3], 10))

ggplot(df) + geom_bar(aes(B, fill = C), position  = 'stack', width = 0.9) +
  facet_wrap(~A, nrow = 1) + theme(panel.spacing = unit(0, "lines"))

r - 在 R 中组合分组和堆叠条形图-LMLPHP

关于r - 在 R 中组合分组和堆叠条形图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45055661/

10-12 19:51