问题描述
我有两个数据框,我想使用 facet_wrap 将它们绘制在一起,如下所示:
# create data frames
d = data.frame(
f = rep(c("f1","f2"),each = 4),x = rep(c("a","b","c","d"),2),y = c(0,2,3,1,6))
# plot ggplot
ggplot(d,aes(x,y)) +
geom_col() +
facet_wrap(~ f) +
coord_flip()
结果:
两个图共享它们的 x 轴,我将其翻转到一边。但是,x 轴的顺序遵循字母顺序。这不是我想要的。相反,我想使用以下从上到下的顺序手动对 x 轴进行排序:“a”、“c”、“d”、“b”。
d2 = d[order(c("a","a","d","b")),]
ggplot(d2,y)) +
geom_col() +
facet_wrap(~ f) +
coord_flip()
还有很多其他问题,人们希望使用不同的顺序(例如 here)分别对所有图的 x 轴重新排序,但是 我想使用所有地块的顺序相同。有没有人知道如何在保持简单的同时做到这一点?