按照我的回答以前的问题之后,我提出了另一个问题:
如何在不重塑数据的情况下根据另一个类别绘制具有不同颜色的堆积条形图,同时使用 stats="identity" 来总结每个堆积区域的值?
stats 标识可以很好地总结值,但对于非堆叠列。在堆叠列中,堆叠以某种方式“倍增”或“条带化”,见下图。
一些数据样本:
element <- rep("apples", 15)
qty <- c(2, 1, 4, 3, 6, 2, 1, 4, 3, 6, 2, 1, 4, 3, 6)
category1 <- c("Red", "Green", "Red", "Green", "Yellow")
category2 <- c("small","big","big","small","small")
d <- data.frame(element=element, qty=qty, category1=category1, category2=category2)
这给出了该表:
id element qty category1 category2
1 apples 2 Red small
2 apples 1 Green big
3 apples 4 Red big
4 apples 3 Green small
5 apples 6 Yellow small
6 apples 2 Red small
7 apples 1 Green big
8 apples 4 Red big
9 apples 3 Green small
10 apples 6 Yellow small
11 apples 2 Red small
12 apples 1 Green big
13 apples 4 Red big
14 apples 3 Green small
15 apples 6 Yellow small
然后 :
ggplot(d, aes(x=category1, y=qty, fill=category2)) + geom_bar(stat="identity")
但是图表有点乱:颜色没有组合在一起!
为什么会有这种行为?
是否仍然可以选择正确分组颜色而不重塑我的数据?