Leaflet气泡地图图例自定义:移除默认Legend图例,保留Population图例
解决方法
默认图例由geojsonMap()函数自动生成,只需在调用该函数时添加legend = FALSE参数,即可关闭默认图例,仅保留你手动添加的「Population」图例。
修改后的完整代码如下:
library(leaflet) library(leafletCN) library(plyr) library(dplyr) # 显式加载dplyr,避免管道符%>%运行报错 dat = data.frame(name = regionNames("china"), value = 1) data=data.frame(city=c("NJ","AH","BJ","CD","CQ"), count=c(15,32,45,52,24), lat=c(32,31,39,29,29), long=c(118,117,116,111,106)) data2 <- data %>% arrange(count) %>% mutate(name=factor(city, unique(city))) %>% mutate(mytext=paste( "City: ", city, "\n", "Population: ", count, sep="") ) mybins <- seq(0, 60, by=10) mypalette <- colorBin(palette="inferno", domain=data2$count, na.color="transparent", bins=mybins) # 关键修改:添加legend = FALSE关闭默认图例 geojsonMap(dat,"china", legend = FALSE) %>% addCircleMarkers(data=data2,~long, ~lat, fillColor = ~mypalette(count), popup = ~mytext, fillOpacity = 0.7, color="white", radius=~(count/2), stroke=FALSE)%>% addLegend(data=data2,pal=mypalette, values=~count, opacity=0.9, title = "Population", position = "bottomright" )
补充说明
- 原代码使用的
%>%管道符依赖dplyr包,显式加载该包可避免运行时出现找不到管道符的报错; geojsonMap函数的legend参数默认值为TRUE,设置为FALSE后会自动取消对应dat$value的默认图例。
内容的提问来源于stack exchange,提问作者Robin
相关产品推荐
相关产品推荐

