如何在单个pdf中每页绘制多色(两列图)?

时间:2016-03-22 16:59:48

标签: r ggplot2

我正在使用ggplot和ggplot.multiplot函数来绘制每页的多点(2列图),但我无法做到。请帮忙

我在变量plot_list中有一个ggplots列表,并使用函数ggplot2.multiplot绘制每页2个绘图。但是它将一页中的所有数字都搞得一团糟。我想在单个图中每页两个图。

>plot_list ## ggplot saved in a list though i have long list to plot
[[1]]

[[2]]

[[3]]

[[4]]

在这两种情况下,我尝试了但是所有四个图都绘制在同一页面中:

library(easyGgplot2)
library(ggplot2)
ggplot2.multiplot(plotlist = plot_list, cols=2)
ggplot2.multiplot(plotlist = plot_list)

然而它的工作如下:

ggplot2.multiplot(plot_list[[1]],plot_list[[2]],cols=2)
ggplot2.multiplot(plot_list[[3]],plot_list[[4]],cols=2)

但我有一长串的数据可以在单个pdf中生成!!

我也尝试library("cowplot"),但在使用数据列表时出错。

plot_grid(plot_list, ncol = 2, nrow = 1)

Error in ggplot_to_gtable(x) : 
  Argument needs to be of class "ggplot" or "gtable"

请帮忙。 感谢

2 个答案:

答案 0 :(得分:2)

gridExtra::marrangeGrob

library(ggplot2)
library(gridExtra)

 pl <- replicate(5, ggplot(), simplify=FALSE)
 ml <- marrangeGrob(pl, nrow=1, ncol=2)
 ggsave("multipage.pdf", ml)

enter image description here

答案 1 :(得分:1)

对于你的cowplot问题,plot_grid函数(https://rdrr.io/cran/cowplot/man/plot_grid.html)中有一个参数plotlist:

if (resource.status == 'draft') $evaluation.grant(); else $evaluation.deny();

应该有效