kurdtc's question的解决方案不再有效:
library(grid)
library(png)
plots <- lapply(ll <- list.files(patt='.*[.]png'),function(x){
img <- as.raster(readPNG(x))
rasterGrob(img, interpolate = FALSE)
})
library(ggplot2)
library(gridExtra)
ggsave("Plots_Combined.png",width=8.5, height=11,
do.call(marrangeGrob, c(plots, list(nrow=2, ncol=1,top=NULL))))
marrangeGrob函数给出以下错误:错误:nrow * ncol&gt; = n不为TRUE,其中2个png文件位于当前文件夹中(应该可以)。是否有任何影响此功能的marrangeGrob函数更新?
答案 0 :(得分:1)
marrangeGrob
的参数列表最近发生了变化;不再需要do.call
,只需使用grobs
参数,
ggsave("Plots_Combined.pdf",width=8.5, height=11,
marrangeGrob(grobs = plots, nrow=2, ncol=1,top=NULL))
对于png,你不能将多个页面输出到单个文件,但这个技巧可能有所帮助,
ggsave("Plots_Combined%03d.png",width=8.5, height=11,
marrangeGrob(grobs = plots, nrow=2, ncol=1,top=NULL))