当前位置:  开发笔记 > 编程语言 > 正文

ggplotting时,有序数据帧的顺序不同

如何解决《ggplotting时,有序数据帧的顺序不同》经验,为你挑选了1个好方法。

这是我经常遇到的问题,我只需要帮助整理这个问题.我正在尝试使用ggplot绘制已排序的数据框.但是,绘图不按照我的数据框中的顺序排序.

举例来说明我的问题:

value <- c(5,8,9,11,3)
Attribute <- c("a", "b", "c","d","e")
my.order <- as.factor(c(4,3,2,1,5))
my.df <- data.frame(Attribute,value,my.order)
my.df
#  Attribute value my.order
#1         a     5        4
#2         b     8        3
#3         c     9        2
#4         d    11        1
#5         e     3        5

然后我通过my.order命令数据框,属性列

my.df.ordered <- my.df[with(my.df, order(my.order, Attribute)), ]

my.df.ordered

 # Attribute value my.order
#4         d    11        1
#3         c     9        2
#2         b     8        3
#1         a     5        4
#5         e     3        5

这一切都很好,但是当我尝试用ggplot绘制它时,属性按字母顺序再次排序....

ggplot(my.df.ordered, aes(x=Attribute,y=value))+ geom_point()+ coord_flip()

请帮忙?



1> Matthew Plou..:

你正在寻找这个reorder功能:

my.order <- c(4,3,2,1,5)
my.df <- data.frame(Attribute,value,my.order)

ggplot(my.df, aes(x=reorder(Attribute, my.order),y=value)) + 
    geom_point() + 
    coord_flip()

在此输入图像描述

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有