gpt4 book ai didi

R:将文件列表中的多个绘图保存到单个文件中(png 或 pdf 或其他格式)

转载 作者:行者123 更新时间:2023-12-04 00:19:18 26 4
gpt4 key购买 nike

我有超过 10 个文件(最后有数百个......)。我在 R 中生成的 png 格式保存到一个文件夹中。

我的问题 :如何将这些文件保存到多图中(例如,一页上的 4 个数字按 2 行和 2 列排列)?

我知道这可以通过使用 par(mfrow=c(2,2)) 合并到绘图循环中。但是我怎么能在生成后调用文件夹中的文件呢?

最佳答案

这是聚合许多png文件的快速方法:

  • 使用 readPNG 读取您的 png
  • 将它们转换为 raster ,并使用 grid.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()

    编辑:加载 png ,排列它们并将它们合并在同一个 pdf 中:

    首先,您应该使用 rasterGrob 将 png 文件存储在 grobs 列表中。 :
    plots <- lapply(ll <- list.files(patt='.*[.]png'),function(x){
    img <- as.raster(readPNG(x))
    rasterGrob(img, interpolate = FALSE)
    })

    然后使用出色的便捷功能 marrangeGrob 保存它们:
    library(ggplot2)
    library(gridExtra)
    ggsave("multipage.pdf", marrangeGrob(grobs=plots, nrow=2, ncol=2))

    关于R:将文件列表中的多个绘图保存到单个文件中(png 或 pdf 或其他格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26362283/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com