我想在多个页面上使用以下layout_matrix布置图。
代表例如
library(gridExtra)
library(ggplot2)
layout <- rbind(c(1,2,3,4),
c(1,2,3,4),
c(1,2,3,4),
c(5,5,5,5))
p <- list()
for(i in 1:15) {
ifelse(i %% 5 > 0,
p[[i]] <- ggplot(mtcars, aes(wt, mpg)) + geom_point() + ggtitle(paste("plot:",i)),
p[[i]] <- tableGrob(mtcars[5:7,],rows = NULL)
)
}
如果我只有一页:(简单)
grid.arrange(grobs=p[1:5],layout_matrix=layout)
如果我要多个页面:(我松开了所有图案)
marrangeGrob(grobs=p,nrow=4,ncol=2)
请帮助我提供一个通用解决方案,使多个页面上都有一个layout_matrix。
最佳答案
这似乎可行,
marrangeGrob(grobs=p, nrow=1, ncol=5, layout_matrix=layout)
(绝对是偶然的)
marrangeGrob
只是for循环和grid.arrange的薄包装,因此,如果您需要比这种幸运的解决方法更精致的东西,则可能应根据需要修改代码。