我有超过 10 个文件(最后有数百个......)。我在 R 中生成的 png 格式保存到一个文件夹中。
我的问题:如何将这些文件保存到多图(例如,一页上的 4 个数字按 2 行和 2 列排列)?
我知道这可以通过使用合并到绘图循环中,par(mfrow=c(2,2))但是我怎么能在生成后调用文件夹中的文件呢?
这是聚合许多png文件的快速方法:
readPNGgrid.raster: 非常有效地绘制它们。像这样的事情:
library(png)
library(grid)
pdf('somefile1.pdf')
lapply(ll <- list.files(patt='.*[.]png'),function(x){
img <- as.raster(readPNG(x))
grid.newpage()
grid.raster(img, interpolate = FALSE)
})
dev.off()
Run Code Online (Sandbox Code Playgroud)
首先,您应该使用以下命令将 png 文件存储在 grobs 列表中rasterGrob:
plots <- lapply(ll <- list.files(patt='.*[.]png'),function(x){
img <- as.raster(readPNG(x))
rasterGrob(img, interpolate = FALSE)
})
Run Code Online (Sandbox Code Playgroud)
然后使用出色的便捷功能保存它们marrangeGrob:
library(ggplot2)
library(gridExtra)
ggsave("multipage.pdf", marrangeGrob(grobs=plots, nrow=2, ncol=2))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5065 次 |
| 最近记录: |