ggplot2:无法按x值对x轴进行排序

时间:2015-06-04 02:01:51

标签: r sorting ggplot2

我在ggplot2中按x值排序x轴时遇到问题:这是下面的代码

#Data
hp=read.csv(textConnection(
"class,year,amount
a,99,100
a,100,200
a,101,150
b,100,50
b,101,100
c,102,70
c,102,80
c,103,90
c,104,50
d,102,90"))
hp$year=as.factor(hp$year)

#Plotting
p=ggplot(data=hp)  
p+geom_bar(binwidth=0.5,stat="identity")+  #
aes(x=reorder(class,amount),y=amount,label=amount,fill=year)+
theme()

结果如下:

enter image description here

如何按c b d对x轴进行排序,其数量按450,290,150,90减少排序。我该怎么办?

1 个答案:

答案 0 :(得分:15)

您需要重新排序sum函数,否则默认使用mean函数。然后,我在-前面放了一个amount来取消订单。

p=ggplot(data=hp)  
p+geom_bar(binwidth=0.5,stat="identity")+  #
aes(x=reorder(class,-amount,sum),y=amount,label=amount,fill=year)+
theme()

enter image description here