如何在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")