我正在使用Leaflet包在R中创建 map 。它运行完美。我可以使用“导出”简单地在R中导出 map ,但是我需要从R中的脚本中导出 map 。我的简单代码是:
png("test_png.png")
(m <- leaflet() %>% addTiles())
dev.off()
它有效,但是...输出png文件为白色空白。
最佳答案
in response to a question出现了这个非常好的解决方法,稍后在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")
这是结果图像。
更新:
现在网络快照已在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")
关于r - 如何将R map中的Leaflet保存为png或jpg文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31336898/