如何使用重新排序功能按高度对条形图的列进行排序

时间:2013-10-09 02:01:58

标签: r ggplot2

df<-data.frame(State=as.factor(c("AL","MS","AL","NY","AL")),value=c(10,20,20,50,10))

  State value
1    AL    10
2    MS    20
3    AL    20
4    NY    50
5    AL    10

ggplot(df, aes(y=value, x=State)) + geom_bar(stat="identity")

enter image description here

我想使用“重新订购”按高度从最高到最短重新排序我的酒吧。我找到了一个类似的例子here,但我对此并不十分了解,也无法将其应用于此问题。

1 个答案:

答案 0 :(得分:2)

df$State <- factor(df$State , 
                   levels=levels(df$State)[
                       order( tapply(df$value, df$State, sum), decreasing=TRUE)
                                         ])