我正在用tmap创建一个地图,将特定的坐标绘制为点。我想将我的地图另存为.png,使用tmap_leaflet和mapshot可以很好地工作(参见下面的代码)。
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location")
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png") # save map我的问题是在tmap视图模式下可视化的默认区域。我想缩小以可视化地图的更大区域(例如,设置特定的边界),而不仅仅是真正靠近所绘制的点的区域。我还没能在网上找到解决方案。下面是我获取.png的方法:

这就是我想要的东西,例如(用截图制作的):

发布于 2021-11-17 08:09:10
可以使用tm_view()调整缩放级别
library(sf)
library(tmap)
library(mapview)
coord <- data.frame(Lat=c(0.92, 0.92, 0.93, 0.92, 0.93, 0.93, 1.00, 1.00, 0.99, 0.93),
Lon=c(104.58, 104.51, 104.57, 104.50, 104.55, 104.51, 104.59, 104.49, 104.6, 104.61))
sdat <- st_as_sf(coord, coords = c("Lon", "Lat"),
crs = "+proj=longlat +datum=WGS84 +no_defs")
tmap_mode("view")
Map <- tm_basemap("Esri.WorldTopoMap") +
tm_shape(sdat) +
tm_dots(alpha = 1,
title = "Location") +
tm_view(set.zoom.limits = c(10, 20))
lf <- tmap_leaflet(Map)
mapshot(lf, file = "Map.png")

https://stackoverflow.com/questions/69998616
复制相似问题