假设我有一个名为ALL
的列表,其中包含40个元素,每个元素都是ggplot
。
如果我想绘制其中一个我可以做的
ALL[[1]]
或
print(ALL)
如果我想将它们全部绘制在一起我可以做到
grid.arrange(ALL[[1]] ,ALL[[2]], ALL[[3]], .... )
或
grid.arrange(ALL[[names(ALL)[1]]] ,ALL[[names(ALL)[2]]], ALL[[names(ALL)[3]]], .... )
这对许多列表元素来说真的很累人。但我无法弄清楚如何调用grid.arrange
来绘制所有情节。我不希望apply
超过列表,因为我想在同一页面上显示多个图。
将40个地块调到grid.arrange
可能看起来很多但是它们很小,甚至在页面上的1:10地块也是很多打字!!!!
答案 0 :(得分:1)
每当您获得一个列表(此处为ALL
),其元素是您要传递给函数的参数(此处为grid.arrange
),您可以使用{ {3}}。
这应该可以解决问题:
## Equivalent to grid.arrange(ALL[[1]], ALL[[2]], ..., ALL[[n]])
do.call(grid.arrange, ALL)