【问题标题】:Embedding a dynamically changing R htmlwidget into a webpage将动态变化的 R htmlwidget 嵌入到网页中
【发布时间】:2016-06-30 14:02:22
【问题描述】:

我需要在 R 中使用 javascript 可视化包,如 plotly 和 dygraphs,并在我的网页中显示生成的图。每当用户与网页中的其他 HTML 元素交互时,都需要更新生成的绘图。

我曾考虑过使用 Shiny 服务器方式将 UI 与绘图集成,但对此感到失望,因为它限制了开发人员使用 javascript 完全控制 UI 的方式,否则它很棒。

到目前为止,我发现我可以将 htmlwidgets 文件嵌入到 IFrame 中以显示绘图,但正如这篇文章中所讨论的:Embedding an R htmlwidgets into existing webpage,一般来说,Iframes 被认为是不好的做法,因此想做这个:Answer to the above-linked question.

但问题是,每次我使用 plotly 或 dygraph 重新生成绘图并使用 htmlwidgets 包的 saveWidget() 函数保存它们时,生成的绘图文件对于生成的绘图的 div 具有不同的 id。如何在每次生成绘图文件时其 id 都会更改的外部 HTML 文件(将 srcs 包含到更多 html/css/js 文件)中嵌入 div?

【问题讨论】:

  • 您是否需要实际保存小部件,或者您是否可以让闪亮的小部件实时呈现?我知道您没有提到 iframe,但是,如果您最终选择 iframe 路由,您可以在 iframe URL 中传递参数并根据您的用户如何与页面上的 HTML 元素交互来生成可视化。查看闪亮的会话对象:shiny.rstudio.com/reference/shiny/latest/session.html

标签: javascript r iframe plotly htmlwidgets


【解决方案1】:

我建议我框架以传递表单并使用 Shiny。这不会导致使用现成的服务器重新创建轮子工作。

【讨论】:

    猜你喜欢
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2023-03-06
    • 2013-10-08
    • 2011-10-28
    • 1970-01-01
    • 2012-04-25
    相关资源
    最近更新 更多