使用tmap结合Leaflet时底图无法显示,求助解决方法
解决tmap中tm_basemap底图不显示的问题
你的问题出在tmap的运行模式上:tm_basemap()仅在交互式视图模式下生效,默认tmap是静态绘图模式,此时底图图层会被忽略,所以你看不到底图但也不会报错。
两种可行的解决方法:
方法1:提前切换到交互式模式
在代码开头添加tmap_mode("view"),强制tmap以交互式模式运行:
tmap_mode("view") tm_shape(runsample) + tm_fill("relative_move", title="Relative Move", alpha = 0.7) + tm_layout(legend.outside = TRUE, legend.outside.position = "right") + tm_basemap(server="OpenStreetMap", alpha=0.5)
方法2:在代码末尾添加视图渲染函数
用tmap_view()强制生成交互式地图,无需提前切换模式:
tm_shape(runsample) + tm_fill("relative_move", title="Relative Move", alpha = 0.7) + tm_layout(legend.outside = TRUE, legend.outside.position = "right") + tm_basemap(server="OpenStreetMap", alpha=0.5) + tmap_view()
运行修改后的代码,就能看到OpenStreetMap底图作为背景了。
内容的提问来源于stack exchange,提问作者tchoup
相关产品推荐
相关产品推荐

