r - 如何使用ggplot2反转堆积面积图中的堆积顺序-LMLPHP我想使用ggplot2绘制堆积面积图,但发现结果与本书不同(R Graphics Cookbook图4-22)
library(gcookbook)library(plyr)ggplot(uspopage, aes(x=Year, y=Thousands, fill=AgeGroup, order=desc(AgeGroup))) + geom_area(colour="black", size=.2, alpha=.4) + scale_fill_brewer(palette="Blues")
不能颠倒堆叠顺序(在书中,“> 64”应在底部)。这个过程有问题吗?

最佳答案

即席方法是对数据重新排序。代替

AgeGroup
      <5
    5-14
   15-24

你要
AgeGroup
>64
55-64
45-54

因此,您可以将最后一个元素放在第一位,第二个最后一个元素放在第二位,...使用时会发生类似于c("A", "B", "C", "D")[4:1]的情况
swap <- uspopage[nrow(uspopage):1,]
ggplot(swap, aes(x=Year, y=Thousands, fill=AgeGroup, order=desc(AgeGroup))) +
geom_area(colour="black", size=.2, alpha=.4) + scale_fill_brewer(palette="Blues")

2016-06-02:我在评论后提出了一些解释。

08-25 06:15