我有这个数据集:
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?
谢谢!
答案 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")