繁体   English   中英

优化闪亮仪表板图重绘

Optimising Shiny Dashboard plot redraw

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我建立了一个闪亮的仪表板,其中包含一组作为数据框加载的数据。 它使用dplyr选择列,然后根据需要更改新列,应用一组过滤器,然后使用各种基于ggplot2的高级软件包进行绘制。

我们尝试进行数据加载,选择和修改一次。 过滤位于一个反应变量中,可通过该图进行访问,并基于不同的输入值。

据我所知,这是一个非常标准的典型用例。

我想知道是否有人可以建议工作流模式以使输出响应更快。

我用这种书写模式遇到了两种情况,这些情况似乎会导致严重的用户界面延迟,我想避免这种情况:

  • 首先,当仪表板首次加载时,它会尝试使用NULL数据绘制图表。 我发现我可以通过使用if(is.null(my_data_frame))并返回geom_blank()而不是我们的情节来解决这个问题。 有没有更整洁/更快捷的方式来做到这一点?

  • 其次(也是更具挑战性的):在我的绘图的右边是一组(可能很大)过滤器选项,以允许用户分析子集。 如果用户快速连续单击这些选项中的几个选项,Shiny将重复重新计算我们的react()值并为每个单击事件重新绘制图表:用户实际上只需要设置或清除5个选项。 有没有办法防止这种情况发生-因此,如果重新计算未完成,我们就不会继续进行绘图,因为我们已经使数据陈旧了? 还是考虑使用更新按钮对选项进行分组以防止这种情况?

2 个回复

回应您的第二个项目符号。 检查闪亮的防抖/油门功能。 这些应减慢反应性响应,以便您的用户可以在重新计算图表或表示元素之前完成UI控件。

对于第一个问题,请尝试在反应式块中使用req函数。 如果您的绘图正在等待数据框加载,则可以将用于加载数据框的代码放在一个命名的反应块中(似乎您已经完成了此操作),然后将其传递给req 这将防止绘图尝试渲染,直到它收到传递给req的有效值为止。

对于第二个建议,如果通常希望用户在所需的图更新之间更改多个选项,则建议将图渲染包装在observeEvent并具有“更新”按钮。

最后,为了提高性能,我今天刚刚看到Shiny v1.2.0刚刚发布或即将发布,其主要功能是绘图缓存。 您可以在此处找到更多详细信息。

1 闪亮的仪表板图放大

我是发光仪表板的新手。 我创建了一个非常简单的散点图,希望将其叠加到png图像上。 我需要一种方法来放大和缩小散点图和图像。 当前,放大和缩小适用于geom_points,但不适用于图像。 我按照本教程的代码制作了代码: https://shiny.rstudio.com/ ...

2 有情节的闪亮仪表板

我正在学习一些闪亮的东西来做一个仪表板。 我有个主意。 我想创建一个仪表板,该仪表板从selectinput中选择一个变量,按该变量分组,并绘制该变量总数的条形图或直方图。 我已经生成了一个样本数据集来生成所需的内容,但是无法获取所需的内容。 UI代码是下一个: 服务器代 ...

4 更新数据框后重绘光泽图?

我用数据库后端构建了一个Shiny应用程序- 我试图重新加载数据帧current_data_frame并在按下input$draw_plot (操作按钮)时使用它重绘该图。 调用数据框后,我在重新绘制绘图时遇到麻烦吗? 任何想法,我缺少什么? 来自server.R的片段 ...

2016-10-25 18:11:39 2 621   r/ shiny
5 在闪亮的仪表板 R 中动态绘制多个变量

我正在尝试构建一个闪亮的仪表板,向用户显示多个国家和多个变量随时间变化的数据图。 仪表板工作得很好,但我真的很感激能帮助我解决我一直遇到的问题: 我目前能够为单个变量绘制多个国家/地区(例如,一段时间内美国和 AFG 的 Variable_1) 但是,我目前无法为多个变量绘制多个国家(例如 ...

6 R Shiny 仪表板的堆栈条形图

如何为 Shiny Dashboard 制作堆栈条形图? 例如,我想要一个 2016 年的条形图,其中包含申请数量、接受的申请数量和注册数量,但所有这些值都放在一列中 - 堆叠。 这是我的数据集 ...

7 交互式仪表板使用R中的光泽显示图

这是我第一次尝试闪亮。 我正在创建一个仪表板,该仪表板将“日期范围”和“变量名称”作为用户输入并显示图表。 日期沿x轴,值沿y轴。 我正在使用rCharts库进行绘图。 CSV文件中的样本数据集: 我写了如下的ui.R和script.R。 但是它显示ui而不显示主体中的情节 ...

8 如何在闪亮的仪表板上使用dplyr制作条形图

我正在尝试在闪亮的仪表板的renderUI中绘制条形图。 以下是我的代码 clean_data是一个在清理和整理数据帧之后返回数据帧的函数 每当我运行有光泽的应用程序时,都会出现Error:Mapping should be created with aes()或aes_() E ...

9 R闪亮图显示在PDF或仪表板中

我有一个R Shiny,它会生成带有一些图表的仪表板。 我实现了一个下载按钮,以使用knitr将报告下载为PDF。 这是代码中有问题的部分: 问题如下: 当我注释代码的“ renderPlot”部分时,直方图通常显示在PDF报告中(但不在仪表板中)。 当我取消注释时,直方 ...

2017-10-13 13:35:15 0 36   r/ shiny
10 将绘图高度调整为发光仪表板中的任何屏幕

是否可以将包含在框内的闪亮仪表板中所有图的高度调整为任何屏幕分辨率。 您可以尝试使用css但情节越来越大。 如果我手动将100vh从100vh降低,那么它们会更适合,但我想要一个通用的解决方案,因为结果因屏幕分辨率而100vh 。 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM