How to capture html output as png in R
htmlwidgets, networkd3, png, r
Solution
just an update to the possible solutions. There is a package called `webshot` (by W. Chang, et al.) that does this rendering and taking screenshots of html pages.
e.g usage:
webshot::webshot("file.html")
And to get the html file, you might want to check out `htmlwidgets::saveWidget` by R. Vaidyanathan, et al.
a fully reproducible example (saves `simpleNetwork.png` in your current working directory)
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")
Problem
I use interactive output created by networkD3 package in R. I know how to save the output as html page, but I also need to save the 'static' version of the diagram as .png file. The code looks like this: ``` # 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) ``` I can save the output by clicking on 'Export' and then 'Save as Image'. However, I prefer to use some commands in my code to save the picture.