r - 如何在R中将html输出捕获为png

标签 r png htmlwidgets networkd3

我使用 R 中由 networkD3 包创建的交互式输出。我知道如何将输出保存为 html 页面,但我还需要将图表的“静态”版本保存为 .png 文件。

代码如下所示:

# Load package
library(networkD3)

# Create fake data
src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
networkData <- data.frame(src, target)

# Plot
simpleNetwork(networkData)

我可以通过单击“导出”然后“另存为图像”来保存输出。但是,我更喜欢在我的代码中使用一些命令来保存图片。

最佳答案

只是对可能的解决方案的更新。有一个包叫 webshot (W. Chang 等人)执行此渲染并截取 html 页面的屏幕截图。

例如用法:

webshot::webshot("file.html")

要获取 html 文件,您可能需要查看 htmlwidgets::saveWidget由 R. Vaidyanathan 等人撰写。

一个完全可重现的示例(将 simpleNetwork.png 保存在您当前的工作目录中)
library(networkD3)

src <- c("A", "A", "A", "A", "B", "B", "C", "C", "D")
target <- c("B", "C", "D", "J", "E", "F", "G", "H", "I")
networkData <- data.frame(src, target)

sn <- simpleNetwork(networkData)
saveNetwork(sn, "sn.html")

library(webshot)
webshot("sn.html", "simpleNetwork.png")

enter image description here

关于r - 如何在R中将html输出捕获为png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056733/

相关文章:

css - 只使用 CSS,我可以只使用 PNG 的 alpha channel 吗?

git - 如何恢复由于 .gitattributes 不正确而损坏的 PNG 文件?

Android 9 补丁可绘制文件

r - 如何使用ggplotly-R使散点图点打开超链接

r - 分支预测如何影响 R 中的性能?

r - 如何在R中用科学记数法写数字

javascript - Shiny & networkD3 响应节点点击

r - 交互式 `ggplotly` 图形不是从 R 中 `for` 文件中的 `Rmd` 循环内部绘制的

r - 如何在 lmer 中包含与单个预测变量的 3 种交互

regex - 我想在 R 中使用 gsub 来匹配所有不是字母数字的项目