【问题标题】:R Order of stacked areas with ggplot geom_areaR ggplot geom_area 的堆叠区域顺序
【发布时间】:2016-07-11 11:42:22
【问题描述】:

我需要重新安装 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)))

这给出了以下情节:

看起来“秩序”对剧情没有任何影响。

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

我的错误在哪里?

提前非常感谢!

【问题讨论】:

    标签: r ggplot2


    【解决方案1】:

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

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

    或者直接使用这个(不反转因子水平,不会改变颜色):

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

    【讨论】:

    • 非常感谢您的解决方案。实际上问题在于 order 美学不再存在。这给我带来了一些麻烦,因为仅定义因子水平是不够的。有关详细说明,请参阅此post
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 2017-07-21
    • 2020-01-30
    相关资源
    最近更新 更多