我有一个使用创建的对象列表patchwork
。我想将此列表的每个元素保存为单个 PDF 中的单独页面。
如果对普通ggplot2
对象执行此操作,我将按照此处gridExtra::marrangeGrob()
给出的解决方案使用 组合图。我喜欢这种方法,因为它很整洁,而且输出包含页码。
但是我无法使用这种方法patchwork
。它不是在每一页上打印整个情节“复合”,而是只显示一个情节元素。MWE 在下面给出。
library(ggplot2)
library(patchwork)
library(gridExtra)
# dummy plots
p1 <- ggplot(mtcars, aes(mpg, disp)) + geom_point()
p2 <- ggplot(mtcars, aes(mpg, disp)) + geom_line()
# create plot 'composites' using `patchwork` and combine into list
# elements duplicated for simplicity
plot_list <- list(
wrap_plots(p1, p2),
wrap_plots(p1, p2)
)
# attempt to export with separate page for each list element
# expect to produce a PDF with two pages, both of which show p1 adjacent to p2
plot_list %>%
marrangeGrob(nrow = 1, ncol = 1) %>% # no combination of nrow and ncol seems to work
ggsave(filename = "plots.pdf")
我在这里做错了什么?结合一个愚蠢的想法patchwork
?gridExtra
如果是这样,更好的选择是什么?