在R/SHINY中缓存绘图 [英] caching plots in R/Shiny
本文介绍了在R/SHINY中缓存绘图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只是想知道是否有什么技巧/方法可以缓存通过我们闪亮的应用程序生成的绘图。
背景:
我们正在进行一些计算密集型的计算,最终会得出一个曲线图。我已经在全局缓存(使用Memoise)完成的计算,但渲染绘图仍然需要0.75秒。我只是在想,我们是否可以通过减少渲染图像所需的时间来减少这一时间,以及是否有已经做到这一点的巧妙方法。
更多详细信息:
我正在使用网格创建绘图(在本例中为热图。理想情况下,我希望缓存是基于磁盘的,因为在内存中存储绘图不会向上扩展。谢谢! -Abhi
推荐答案
假设您使用的是ggplot
(如果使用SHINY,我打赌这是一个合理的假设)。
- 创建一个空列表来存储您的Grob,比如
Plist
。 - 当用户请求图表时,根据闪亮的输入创建字符串哈希
- 检查图表是否已保存,例如
hash %in% names(Plist)
- 如果是,请提供该图表
- 如果否,则生成图形,将Grob保存到列表中,按散列命名元素,例如
Plist[hash] <- new_graph
这篇关于在R/SHINY中缓存绘图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文