在R tmap中,如何在交互模式下控制层可见性



从一个玩具示例开始,我可以使用以下代码在tmap中快速获得交互式地图:

library(tmap)
tmap_mode("view")
data("World", "metro")
tm_shape(World) +
tm_polygons() +
tm_shape(metro) +
tm_dots("pop2010", 
col = "red") + 
tm_format("World")

我希望地图最初只显示World层,并隐藏城域层。只有当用户勾选图层选择中的框时,它才会出现。

我查阅了tm_shapetm_dots的文档,没有发现任何可以控制这种行为的东西。这可能吗?

这似乎也是GitHub上的一个问题。

一种解决方案是使用tmap::tmap_leaflet()创建传单小部件,然后使用leaflet::hideGroup显示/隐藏层。

library(tmap)
library(leaflet)
tmap_mode("view")
data("World", "metro")
tm <-
tm_shape(World) +
tm_polygons() +
tm_shape(metro) +
tm_dots("pop2010", 
col = "red") + 
tm_format("World")
# Pipe the tmap object into tmap_leaflet() to create a leaflet widget,
# so that we can use leaflet::hideGroup().
tm %>% 
tmap_leaflet() %>%
leaflet::hideGroup("metro")

相关内容

  • 没有找到相关文章

最新更新