ggplot的变量顺序

时间:2015-08-28 19:02:22

标签: r ggplot2

我的数据框:

Variable <- sample(-9:10)
Levels<-rep(c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" ),times=2)
ID<-rep(c("WT", "KO"), each=10)
df <- data.frame(Variable, Levels, ID)

我运行ggplot,我明白了:

enter image description here

如果我有这两行

df$ID=factor(df$ID, c("WT","KO"))
df$Levels=factor(df$Levels, c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" ))

我可以得到这个

enter image description here

但必须有办法在不手动输入等级

的情况下执行此操作

1 个答案:

答案 0 :(得分:3)

只需使用正确的因子创建初始数据框,即

df = data.frame(Variable, factor(Levels, levels=unique(Levels)), ID)

unique功能有助于维护正确的顺序。或者,

levels = c("N", "A", "L","B", "O", "C", "U", "R", "E", "Y" )
Levels = factor(rep(levels, each=2), levels)