如何在R地图中保存Leaflet为png或jpg文件?

我正在使用Leaflet包在R中创build地图。它完美地工作。 我可以导出R中的地图,只需导出,但我需要从R中的脚本导出地图。我的简单代码是:

png("test_png.png") (m <- leaflet() %>% addTiles()) dev.off() 

它的作品,但是…输出PNG文件是白色的空白。

这个非常好的解决方法出现在回答稍后在SO上提出的问题 。 请注意,您需要安装PhantomJS才能使下面的代码工作。

 ## install 'webshot' package library(devtools) install_github("wch/webshot") ## load packages library(leaflet) library(htmlwidgets) library(webshot) ## create map m <- leaflet() %>% addTiles() ## save html to png saveWidget(m, "temp.html", selfcontained = FALSE) webshot("temp.html", file = "Rplot.png", cliprect = "viewport") 

这是由此产生的图像。

地图


更新:

现在, webshot已经在CRAN上正式发布,并且在mapview包中引入了mapshot ,不再需要此手动解决方法。 现在,代码只是这样的:

 library(mapview) ## 'leaflet' objects (image above) m <- leaflet() %>% addTiles() mapshot(m, file = "~/Rplot.png") ## 'mapview' objects (image below) m2 <- mapview(breweries91) mapshot(m2, file = "~/breweries.png") 

啤酒厂