【发布时间】:2017-08-25 15:02:12
【问题描述】:
lots 和 questions 中有关于如何使用循环在网格中排列 ggplots。但是,我无法拼凑出我想要的东西。
我想在一个循环中绘制任意数量的相同大小的图形。至关重要的是,我想使用facet_wrap 并将数据预先分组(解释如下)。这是一个例子:
df <- mtcars
df$car <- rownames(df)
ucar <- unique(df$car)
# Split data into groups of n (6's here)
split6s <- split(ucar, ceiling(seq_along(ucar)/6))
p <- list()
# For each group of 6, plot something (mpg vs wt) faceted by group (car)
for(i in 1 :length(split6s)){
# Subset for group
temp <- subset(df, car %in% split6s[[i]])
# Save plot forcing facet with 1 row
p[[i]] <- ggplot(temp, aes(mpg, wt)) + geom_point() +
facet_wrap(~car, nrow = 1)
}
p[[5]]
p[[6]]
想要的p[[6]]
我想这样做,以便我可以标准化 rmarkdown 中某些图的大小,但使用构面而不是仅仅将单个图一起抓取。
【问题讨论】: