Leafletパッケージを使用してRでマップを作成しています。完全に機能します。 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")