我有20年的重量数据,我想用ggplot2制作10行2列facet_wrap图。问题是我想以这样的方式重新排列构面,以使我在左栏中有前十年,在右栏中有后十年。
我可以按照其他帖子中的建议手动重新排列级别,但这很痛苦。此外,如果我想做相同的事情但使用不同的年份,我将不得不再次重新排列级别。
有没有更简单的方法?这是一个说明我在说什么的示例:
sub.data$year = factor(sub.data$year,
levels = c(2000,2005,2001,2006,2002,2007,2003,2008,2004,2009...))
ggplot(data = sub.data, aes(x = sub.data$weight)) +
geom_histogram() + facet_wrap(~ year, ncol = 2)
谢谢
答案 0 :(得分:2)
我认为您需要dir = "v"
。
library(tidyverse)
df <- data.frame(year = rep(2001:2020, 5), x = runif(100), y = runif(100))
ggplot(df, aes(x, y)) +
geom_point() +
facet_wrap(~year, ncol = 2, dir = "v")
由reprex package(v0.2.1)于2018-11-11创建