6

我正在绘制几个ggplot2对象并将它们放在grid.arrange调用“pdf”设备的内部。我发现如果我先栅格化绘图,PDF 的性能会提高大约 10 亿倍(生成速度更快,渲染速度更快)。因此,在并行循环中,dlply我使用ggsave将. 将其放入列表中,然后将其绘制到 PDF 设备。ggplot2readPNGrasterGrobdlplydlplygrobsgrid.arrange

其中一些看起来很笨拙,所以总的来说,有更好的方法吗?但是真正困扰我的是当我对它们所做的只是将它们读回时,将它们写入磁盘。有没有办法将 grob 直接保存到 rasterGrob 中?

plot.list <- dlply( ... {
        ggsave(filename= fname
               ,plot= my.plot
               ,device= "png" 
               ,scale = 1, width= 1.1, height= 2.125, units = "in" 
               ,dpi = dpi)

        # return it as a list of rasters
        rasterGrob(readPNG( source= fname, info= TRUE))
}
4

1 回答 1

0

我最终使用了 @Yang 的In R 中概述的 Cairo 图形设备,如何绘制到内存缓冲区而不是文件中?@MrFlick 建议的答案

于 2019-11-22T18:41:51.300 回答