我想在x轴上做一个分类变量的简单条形图,在y轴上做一个数值变量,数据包含在数据框中。当我使用ggplot时会发生什么,它是按字母顺序重新排序分类变量的时候,我希望顺序与数据帧中的顺序相同。如果我将分类变量分类为因子并将级别固定为数据帧中的顺序,那么它可以工作,但这看起来应该是不必要的。有更简单的方法。这是我正在做的一个例子。
library(ggplot2)
df<-data.frame(letter=c("ball","truck","apple","bear"), no= c(1,2,3,4))
df$letter <- factor(df$letter, levels = df$letter[order(df$no)])
ggplot(df, aes(letter, no))+ geom_bar(stat="identity")
答案 0 :(得分:1)
使用重新排序有一种更简单的方法:
ggplot(df, aes(x = reorder(letter,no), no))+ geom_bar(stat="identity")