我使用 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")
关于r - 如何在R中将html输出捕获为png,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35056733/