在 R 中组合分组和堆叠条形图
Combine Grouped and Stacked Bar Graph in R
以下是我的数据框的样子:
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 轴上保持计数。这是我尝试过的,看起来是这样的:
我希望它看起来像这样:
我的代码:
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"))
以下是我的数据框的样子:
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 轴上保持计数。这是我尝试过的,看起来是这样的:
我希望它看起来像这样:
我的代码:
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"))