这是我经常遇到的问题,我只需要帮助整理这个问题.我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)
然后我通过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
Run Code Online (Sandbox Code Playgroud)
这一切都很好,但是当我尝试用ggplot绘制它时,属性按字母顺序再次排序....
ggplot(my.df.ordered, aes(x=Attribute,y=value))+ geom_point()+ coord_flip()
Run Code Online (Sandbox Code Playgroud)
请帮忙?
你正在寻找这个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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3072 次 |
| 最近记录: |