【问题标题】:Distribute R visualization to other users将 R 可视化分发给其他用户
【发布时间】:2024-01-21 06:05:01
【问题描述】:

如何将 R 可视化分发给没有 R 的其他用户?

我根据以下代码 (Link) 在 R 中创建了一个桑基图,效果很好:

library(networkD3)
library(jsonlite)
library(magrittr)
energy <- "https://cdn.rawgit.com/christophergandrud/networkD3/master/JSONdata/energy.json" %>% 
  fromJSON
sankeyNetwork(Links = energy$links, 
          Nodes = energy$nodes, 
          Source = "source",
          Target = "target", 
          Value = "value", 
          NodeID = "name",
          units = "TWh", 
          fontSize = 12, 
          nodeWidth = 30)

但是,如何将此图表传递给其他用户?我在想也许可以在网页中呈现它,但我不知道如何。

有什么想法吗?

谢谢

【问题讨论】:

  • 好的旧图像怎么样?如果您还想包含一些文本,可以尝试rmarkdownknitr
  • 图像缺少图表中可用的交互。如果您运行代码,您将看到当您将鼠标悬停在 R 中的图表中时,您会看到一个工具提示,并且节点之间的链接会突出显示。你只用一张图片就错过了。
  • shiny 怎么样?
  • 我不知道如何使用闪亮添加这种类型的图表

标签: r web rendering visualization networkd3


【解决方案1】:

如果您使用的是 RStudio,那么您可以使用 GUI 编译 HTML 报告: 这将使用您的代码和交互式绘图快速创建一个 HTML 文件。

或者,您也可以使用您的代码编写 R Markdown 文档。更多信息here。请记住,只有 HTML 版本是交互式的。

【讨论】:

  • 您提到的按钮并没有真正编译HTML。也许我做错了什么。我试过:rmarkdown::render('C:/path/r_sankeyDiagram.R') 但我收到一条错误消息:没有名为'jsonlite'的包
  • 这意味着你没有安装 jsonlite 包。在编译报告之前运行install.packages("jsonlite")
最近更新 更多