如何使用因子级别的原始顺序来构造geom_bar

时间:2015-12-14 03:32:43

标签: r ggplot2 geom-bar

我有问题要在刻面时保持ggplot' s geom_bar情节中的原始顺序。找到了一些在线帮助,但是当我试图进行分析时它们没有用。

代码:

df <- as.data.frame(cbind(x =rep(c("N-on", "N-off", "R-on", "R-off"),2),
            y = c(13,6,7,11,20,16,17,19), z = c(rep("A", 4), rep("B", 4))))
ggplot(data=df, aes(x=x, y=y)) +
  geom_bar(stat="identity") +
  facet_wrap(~ z, ncol =1) +
  coord_flip()

输出: enter image description here

预期输出:垂直轴上的标签将按原始顺序排列,例如"N-on", "N-off", "R-on", "R-off".

enter image description here

2 个答案:

答案 0 :(得分:6)

显然geom_bar按因子ref

的等级顺序绘制

似乎订单在您的情节中保留,除了它自下而上。这似乎有效,

df$x <- factor(df$x, levels=rev(levels(df$x)))


ggplot(data=df, aes(x=x, y=y)) +
geom_bar(stat="identity") +
facet_wrap(~ z, ncol =1) +
coord_flip()

答案 1 :(得分:0)

最后,countlog.txt的逆序并使用levels为我工作。非常感谢@ eipi10和@jMathew的建议。我稍微修改了一下代码以消除歧义。

data.frame

输出:

enter image description here