r - 有没有办法将 grob 直接保存到 rasterGrob?

标签 r pdf ggplot2 rasterizing grob

我在画几个ggplot2对象并将它们放在 grid.arrange 上在对“pdf”设备的调用中。我发现如果我先对绘图进行光栅化,PDF 的性能会提高大约 10 亿倍(生成速度更快,渲染速度更快)。所以里面平行dlply循环,我正在使用 ggsaveggplot2作为 PNG,然后使用 readPNG重新阅读和 rasterGrob将其转换为 dlply . dlply将其放入 grobs 的列表中其中grid.arrange然后绘制到 PDF 设备。

其中一些看起来很笨拙,所以总的来说,有没有更好的方法?但是真正让我烦恼的是将 PNG 写入磁盘,而我所做的只是将它们读回。有没有办法将 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))
}

最佳答案

我最终使用了 @Yang 的 In R, how to plot into a memory buffer instead of a file? 中概述的开罗图形设备@MrFlick 建议的答案

关于r - 有没有办法将 grob 直接保存到 rasterGrob?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36924457/

相关文章:

java - 从 R 传递 java arraylist 对象

java - iText pdf具有相同内容的多个页面

r - 如何将数据椭圆叠加在 ggplot2 散点图上?

带逗号但没有小数的 R 标签

r - element_text 中 "face"的多个参数

r - 在 tmap 中绘制山体阴影

在 ubuntu 中使用 wine 在 R 中运行 Windows 可执行文件

java - 无法在 RStudio 中加载 rJava

pdf - 为什么这个 postscript 计算器(类型 4)在高倍率下的渲染速度如此之慢?

c# - 在 C# 中将 PDF 文件从 MySQL 保存到 Oracle,中间无需任何转换