使用 gridextra 从列表中绘制多个 ggplots 的有效方法?

Efficient way to plot multiple ggplots from list using gridextra?

我生成了一个包含 25 个 ggplot 元素的列表,我想将它们全部绘制在一页上。由于我找不到将 par() 用于 ggplots 的方法,因此我使用了 gridextra 包,特别是函数 grid.arrange().

对于 base-R 图,它不如 par() 方便....我的尝试如下,我想知道是否有更有效的方法来编写它?

提前致谢!

plot_collection <- grid.arrange(DBScan_plots[[1]], DBScan_plots[[2]], DBScan_plots[[3]], DBScan_plots[[4]], DBScan_plots[[5]], 
                                DBScan_plots[[6]], DBScan_plots[[7]], DBScan_plots[[8]], DBScan_plots[[9]], DBScan_plots[[10]], 
                                DBScan_plots[[11]], DBScan_plots[[12]], DBScan_plots[[13]], DBScan_plots[[14]], DBScan_plots[[15]], 
                                DBScan_plots[[16]], DBScan_plots[[17]], DBScan_plots[[18]], DBScan_plots[[19]], DBScan_plots[[20]], 
                                DBScan_plots[[21]], DBScan_plots[[22]], DBScan_plots[[23]], DBScan_plots[[24]], DBScan_plots[[25]], 
                                nrow = 5,
                                ncol = 5)

grid.arrange 适用于地块列表。只需用 grobs = .

指定它

你的情况:

plot_collection <- grid.arrange(grobs = DBScan_plots, nrow = 5, ncol = 5)