在R/SHINY中缓存绘图 [英] caching plots in R/Shiny

查看:11
本文介绍了在R/SHINY中缓存绘图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是想知道是否有什么技巧/方法可以缓存通过我们闪亮的应用程序生成的绘图。

背景:

我们正在进行一些计算密集型的计算,最终会得出一个曲线图。我已经在全局缓存(使用Memoise)完成的计算,但渲染绘图仍然需要0.75秒。我只是在想,我们是否可以通过减少渲染图像所需的时间来减少这一时间,以及是否有已经做到这一点的巧妙方法。

更多详细信息:

我正在使用网格创建绘图(在本例中为热图。理想情况下,我希望缓存是基于磁盘的,因为在内存中存储绘图不会向上扩展。

谢谢! -Abhi

推荐答案

假设您使用的是ggplot(如果使用SHINY,我打赌这是一个合理的假设)。

  1. 创建一个空列表来存储您的Grob,比如Plist
  2. 当用户请求图表时,根据闪亮的输入创建字符串哈希
  3. 检查图表是否已保存,例如hash %in% names(Plist)
  4. 如果是,请提供该图表
  5. 如果否,则生成图形,将Grob保存到列表中,按散列命名元素,例如Plist[hash] <- new_graph

这篇关于在R/SHINY中缓存绘图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆