我正在使用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")

这是结果图像。

r - 如何将R map中的Leaflet保存为png或jpg文件?-LMLPHP



更新:

现在网络快照已在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文件?-LMLPHP

关于r - 如何将R map中的Leaflet保存为png或jpg文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31336898/

10-12 17:24