首页 > 解决方案 > 如何将几个空白 ggplots 添加到列表中?

问题描述

假设我们要绘制一些 ggplot 和三个空图。例如:

library(ggplot2)
lst <- list(ggplot() + aes(1:10, 1:10) + geom_line())
for (i in 1:3) {
  lst[[i+1]] <- ggplot() +
    theme_void()
}
patchwork::wrap_plots(lst)

在此处输入图像描述

正如您在我的代码中看到的那样,我分配给列表的是

for (i in 1:3) {
  lst[[i+1]] <- ggplot() +
    theme_void()
}

我的问题是 - 有没有可能添加这三个情节但没有循环?我尝试了一些 lpply 但它导致我一无所获

标签: rlistloopsggplot2

解决方案


厚颜无耻的解决方案:

library(ggplot2)
library(patchwork)
p <- ggplot() + aes(1:10, 1:10) + geom_line()

wrap_plots(p, nrow = 2, ncol = 2)

PS 我个人更喜欢使用 plot_spacer() 而不是 theme_void。带有 theme_void 的情节可能会有奇怪的行为......


推荐阅读