r - 如何在网格中绘制绘图列表

标签 r ggplot2

目前我希望使用 ggplot2 在同一窗口中绘制多个图。我在网上搜索了一下,发现gridExtra::grid.arrange函数将完成这项工作。

为了让它工作,我必须将参数中的每个图包含为 gridExtra::grid.arrange(plot1,plot2,plot3,...,plotN) 。但是,如果我想更通用地使用此函数并想输入绘图列表,该怎么办? myList <- list(plot1,plot2,...plotN)

输入绘图列表,以unlist(myList)的形式输入在函数中给出了一个错误。那么,这个问题会得到解决吗?

最佳答案

要使 grid.arrange() 正常工作,您需要显式定义 grobs 参数。

library(ggplot2)
library(gridExtra)

df <- data.frame(x = 1:100,
                 y1 = runif(100),
                 y2 = runif(100)^2)

plot_list <- list(
    plot1 = ggplot(df, aes(x, y1)) + geom_point(),
    plot2 = ggplot(df, aes(x, y2)) + geom_point()
    )

gridExtra::grid.arrange(grobs = plot_list)

关于r - 如何在网格中绘制绘图列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49843966/

相关文章:

r - 将小数年份和一年中的某一天转换为 R 中的日期

c - 回收 `rbinom` 输入的代码在哪里?

r - 时间序列图矩阵

r - 缺少参数 "env",没有默认的 qplot 或 ggplot R

R:将自定义 n 次多项式拟合到 facet_wrap'd ggplot 中的每个方面

r - 从列表中子集 n 个元素

r - 使用 R 中的 dplyr 添加每个因子水平的汇总行

r - 如何移动 image.plot 中的垂直色带图例

r - 如何在图例ggplot2中添加多个标题?

r - geom_boxplot 中的极值标签