不同的省份用数值填充,颜色深浅表示数值大小,其实是一个很现实和常见的问题,但是我感觉网上的教程语焉不详,关键就在于如何将自己的数据和地图融合,程序代码如下,用的GDP数据和地图数据在附件中,供参考,也欢迎各位同学提供更好的解决方案。
- library(leaflet)
- library(geojsonio)
- library(dplyr)
- # 地图数据,来源:
- # https://github.com/longwosion/geojson-map-china/blob/master/china.json
- china <- geojson_read("china.json", what = "sp")
- # 需要填充数据自己修改即可
- df <- read.csv("data.csv")
- china@data <- china@data %>%
- left_join(df)
- pal <- colorNumeric("OrRd", china$gdp)
- leaflet(china) %>%
- addTiles() %>%
- addPolygons(fillColor = ~pal(gdp),
- popup = ~paste(name, "<br>GDP:", gdp)) %>%
- addLegend(pal = pal,
- values = ~gdp)
复制代码
data.zip
(14.2 KB)
本附件包括: