【发布时间】:2017-04-12 14:27:51
【问题描述】:
这是我的问题:
我有一个大数据集,它在 R 中表示我用 ggplot2 绘制的约 500MB 的对象。
有 2000 万个 num 值可沿 int 轴绘制,这些值与 5 级 因素 相关联,用于颜色美学。
我想建立一个网络应用程序,用户可以在其中可视化这个数据集,使用不同的过滤器,这些过滤器依赖于因子来显示所有数据是一次,或者例如对应于因子的 1 个级别的子集。
问题是当我写情节时需要几分钟(~10分钟)
解决方案 1: 对用户来说最好的解决方案是使用 Shiny UI。但是有没有办法通过 ggplot2 或闪亮的技巧让情节以某种方式预先编写好,以便可以快速显示?
解决方案 2: 如果没有闪亮,我可能已经对数据集进行了不同的绘图,我将不得不重建一个 UI 以让用户可视化不同的图片。如果这样做,我将不得不限制显示数据的可能用例。
期待建议和讨论
【问题讨论】:
-
如果你的情节需要 10 分钟。每次更改输入时,闪亮的应用程序将在 10 分钟内加载。所以它不是很好......除非你的情节不依赖于用户的输入,你可以加载一个PNG文件。
-
你真的不需要绘制这么大的东西。如果您从数据库中获取数据,那么只需编写一系列查询,这些查询将在 DB 端聚合数据并将很少的数据拖到
shiny中的输出。对你来说似乎是一个糟糕的设计。 -
@Smich7 这实际上是一个有趣的混合解决方案,使用闪亮显示图片,我会考虑的。但是为此使用闪亮有点矫枉过正
-
@PorkChop 我同意。这里实际上有过度绘制,但是这种表示必须遵循一些规则,我无法转换数据。
-
我有一个肮脏的把戏。用 geom_rect() 替换过度绘图并删除这些数据点。