ggplot2重新排序特殊变量..count

时间:2017-10-03 22:34:56

标签: r ggplot2

嗨,我想这里有这个情节。

Fruit <- c(rep("Apple",3),rep("Orange",25), rep("Peach",5)   )


df <- data.frame(Fruit)

ggplot(df, aes(Fruit, ..count..)) + geom_bar(aes(fill = Fruit), position = "dodge")

这段代码会产生 enter image description here

然而我真正想要的是按降序排序,以便橘子首先遵循桃子。我可以生成一个频率表并创建一个具有级别排序的因子,但我想知道在特殊变量本身中是否还有这样做。

谢谢!

1 个答案:

答案 0 :(得分:1)

我建议使用forcats包并根据频率重新排序因子级别。然后你的绘图代码可以保持不变,你应该得到你想要的。

library(forcats)
df$Fruit <- fct_infreq(df$Fruit)

ggplot(df, aes(Fruit, ..count..)) + 
  geom_bar(aes(fill = Fruit), position = "dodge")

enter image description here