使用grid.Arrange排列多个绘图列表

使用grid.Arrange排列多个绘图列表,r,ggplot2,R,Ggplot2,我有一些名为p1,p2,p3的图的列表,每一个都包含c图c是一个常量。 我想使用grid.arrange,如下所示: grid.arrange(p1[1],...,p1[c],p2[1],...,p2[c],p3[1],...,p3[c],ncol=2) 我尝试使用以下命令,但它们不起作用: do.call("grid.arrange",c(p1,p2,p3,ncol=2)) 或 但有趣的是,下面的命令有效,但不是我想要的 do.call("grid.arrange",c(p1,

我有一些名为p1,p2,p3的图的列表,每一个都包含c图c是一个常量。 我想使用grid.arrange,如下所示:

  grid.arrange(p1[1],...,p1[c],p2[1],...,p2[c],p3[1],...,p3[c],ncol=2)
我尝试使用以下命令,但它们不起作用:

  do.call("grid.arrange",c(p1,p2,p3,ncol=2))

但有趣的是,下面的命令有效,但不是我想要的

  do.call("grid.arrange",c(p1,ncol=2))
那么我如何安排一些绘图列表呢?

不需要do.call

library(ggplot2)
p1 = replicate(3, ggplot(), F)
p2 = replicate(5, ggplot(), F)

gridExtra::grid.arrange(grobs = c(p1, p2), ncol=2)

你试过do.callgrid.arrange,listp1,p2吗?是的,我刚刚试过你建议的命令。它返回的错误与我上面所做的命令相同:gList中只允许“grobs”。奇怪的是,它对我有效。如何:do.callgrid.arrange,lapplylist1,p2,ggplotGrob?我试图实现您的命令,但它在UseMethodggplot_build中返回错误:没有适用于“ggplot_build”的方法应用于类List的对象非常感谢您的兴趣:我非常感谢:D
library(ggplot2)
p1 = replicate(3, ggplot(), F)
p2 = replicate(5, ggplot(), F)

gridExtra::grid.arrange(grobs = c(p1, p2), ncol=2)