R ggplot geom_area的堆积区域顺序

时间:2016-07-11 11:42:22

标签: r ggplot2

我需要重新安装R,现在我遇到了ggplot的一个小问题。我确信有一个简单的解决方案,我很欣赏所有的提示!

我经常使用堆积区域图,通常我通过定义因子级别和以相反顺序绘制来获得所需的堆叠和图例顺序。但是,重新安装后,这不再起作用了。

以下是一个例子:

dx <- data.frame(x=rep(1:8,3),y=rep(c(2,3,2,4,3,5,3,2),3),z=c(rep("bread",8),rep("butter",8),rep("fish",8)))

ggplot() + geom_area(data=dx, aes(x=x, y=y, fill=z, order=-as.numeric(z)))

这给出了以下图:

enter image description here

看起来好像&#34;命令&#34;对情节没有任何影响。

所需的绘图将堆叠图例中显示的区域,即顶部的红色区域,底部的蓝色区域。

我的错误在哪里?

非常感谢提前!

1 个答案:

答案 0 :(得分:4)

你可以使用(颜色也会反转):

dx$z <- factor(dx$z, levels = rev(levels(dx$z)))
ggplot() + geom_area(data=dx, aes(x=x, y=y, fill=z))

enter image description here

或者直接使用它(不反转因子级别,这不会改变颜色):

ggplot() + geom_area(data=dx, aes(x=x, y=y, fill=z)) + 
                 guides(fill = guide_legend(reverse=TRUE))

enter image description here