Search code examples
rr-highcharter

How to save a Highcharter plot as an image on local disk?


hc %>% 
  hc_add_series(name = "London", data = citytemp$london, type = "area") %>% 
  hc_rm_series(name = "New York")

I want to export hc as a png or jpg. This can be done by selecting Export - Save as Image but I'd like to do it through codes because I have multiple plots to export. I have tried the followings but it returned a blank image:

png('hc.png', width = 800,height = 400)
print(hc)
dev.off()

Solution

  • This should be possible with the webshot package (see question here: https://github.com/jbkunst/highcharter/issues/186)

    library(webshot)
    library(highcharter)
    library(plyr)
    
    data("citytemp")
    
    plot <- highchart() %>% 
      hc_add_series(name = "London", data = citytemp$london, type = "area") %>% 
      hc_rm_series(name = "New York")
    
    htmlwidgets::saveWidget(widget = plot, file = "~/plot.html")
    setwd("~")
    webshot::webshot(url = "plot.html", 
                     file = "plot.png")