加速ggplot2:预渲染图是否有意义?

时间:2015-08-31 22:45:18

标签: r performance plot ggplot2 rendering

我正在构建一个交互式函数,它将重复构建和绘制相当复杂的ggplot2图。

用户提供输入(实际上是PCA加载矩阵的旋转角度),我想尽快向他们展示旋转结果。

不幸的是,用ggplot2绘制情节非常缓慢。

注意:

  • 重点很多数据(< 100数据点左右),所以预处理无济于事(这是this上的问题和很多其他SO ggplot2表现帖子)。
  • 我现在必须坚持使用ggplot2。 (我知道,我知道,ggobi等......)。
  • 预先知道可能输入的范围(0-360):这是一个非常有限的数字。
  • 使用memoise缓存ggplot生成函数,但这似乎没有多大帮助;问题似乎是图形设备上的实际绘图。
  • (我也注意到RStudio的内部图形设备特别迟钝)。

所以,我想,也许我想以某种方式预渲染所有必要的图,可能是将svg()图形设备保存到文件或其他东西,然后根据需要绘制这些缓存版本。

  • 在1-10的范围内,一个想法是多么愚蠢?
  • 有更好的想法吗?
  • 这会不会加速绘图,还是图形设备仍然会成为瓶颈?
  • 为什么我们不能在R中进行硬件加速:(。

更新

  • 这不是托管软件(现在),只是在本地工作,它应该可以在任意数量的客户端和任意数量的平台上运行。
  • 我知道(速度快得多)ggvisggobi,但现在这些都不是一个选项(开发带宽太小)。
  • 实际上有几个相对复杂的,嵌套的(grid.arrange d)绘图函数,而且在某些时候memoise d - 没有明显的速度增加。
  • 在外部文件查看器中打开预渲染文件似乎会危及跨平台的吸引力 - 对吗?

0 个答案:

没有答案