【发布时间】:2016-11-04 09:30:27
【问题描述】:
我必须使用与 htmlwidgets 相关的软件包(plotly 和 dygraphs)来生成绘图,然后我可以: 1. 另存为 .html 文件并通过 iframe 链接它们。 2. 在闪亮的应用中使用。
我更喜欢创建自己的 UI 而不是使用 Shiny,但是:
如果我不使用 Shiny,每次我重新生成绘图(在某种用户交互上)时,都需要将 plotly/dygraphs 创建的 html 文件(超过 1MB)传输到客户端。这可能会造成瓶颈。
因此,我想知道在重新渲染用户交互图时,使用 Shiny 是否会减少需要传输到客户端的数据量。
【问题讨论】:
-
"creating my own UI instead of using Shiny"- 如果您说您想使用不同于预建 Bootstrap 的 CSS/JS,shiny 允许灵活地使用您需要的任何框架或自定义 UI 元素。"regenerate the plot ... more than 1MB"- 如果使用来自 htmlwidget 的*Output/render*方法,则不会在每次渲染时传输依赖项,因此传输的大小应该是数据的大小。如果预计数据会很大,那么您可以实现proxy,例如leaflet或visNetwork。 -
我可以使用 Bootstrap 和其他类似的库/框架吗?
-
是的,当然,Bootstrap 是内置的 shiny.rstudio.com/reference/shiny/latest/bootstrapPage.html 使其成为最容易使用的框架,但使用其他 css/js 框架也很容易插入。
标签: r shiny plotly shiny-server htmlwidgets