重新排列图中的分组数据和图例

时间:2014-10-04 09:04:55

标签: r ggplot2

我有这个数据集:

df <- data.frame(x = 1:9, 
                 y = c(rep("a", 3), rep("b",3), rep("c", 3)),
                 z = rep(c("g1", "g2", "g3"), 3))

我将其绘制为按列y分组的条形图:

ggplot(df, aes(x=y, y=x, fill=z)) +
        geom_bar(position="dodge", stat = "identity")

图例按g1,g2和g3组织。

是否可以重新排列图表,以便每组中的顺序为g2,g1,g3?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用factor在绘图前指定关卡的顺序。

df$z <- factor(df$z, levels = c("g2", "g1", "g3"))

ggplot(df, aes(x = y, y = x, fill = z)) +
  geom_bar(position = "dodge", stat = "identity")

enter image description here