如何解决为什么 Folium 以单一颜色呈现颜色?
警告 - 我是 folium 的新手,所以任何帮助都将不胜感激......我正在尝试为南美洲的人口密度创建一个 choropleth。我有以下数据:
idx id pop_den location
0 AR 16.177 Argentina
1 BO 10.202 Bolivia
2 BR 25.040 Brazil
3 CL 24.282 Chile
4 CO 44.223 Colombia
5 EC 66.939 Ecuador
6 GY 3.952 Guyana
7 PY 17.144 Paraguay
8 PE 25.129 Peru
9 SR 3.612 Suriname
10 UY 19.751 Uruguay
11 VE 36.253 Venezuela
sa_geojson = geopandas.read_file('continent_South_America_subunits.json')
文件示例如下:
{
"type": "FeatureCollection","features": [
{ "type": "Feature","id":"AR","properties": { "scalerank": 0,"featurecla": "Admin-0 map subunit","labelrank": 2.000000,"sovereignt": "Argentina","sov_a3": "ARG","adm0_dif": 0.000000,"level": 2.000000,"type": "Sovereign country","admin": "Argentina","adm0_a3": "ARG","geou_dif": 0.000000,"geounit": "Argentina","gu_a3": "ARG","su_dif": 0.000000,"subunit": "Argentina","su_a3": "ARG","brk_diff": 0.000000,"name": "Argentina","name_long": "Argentina","brk_a3": "ARG","brk_name": "Argentina","brk_group": "","abbrev": "Arg.","postal": "AR","formal_en": "Argentine Republic","formal_fr": "","note_adm0": "","note_brk": "","name_sort": "Argentina","name_alt": "","mapcolor7": 3.000000,"mapcolor8": 1.000000,"mapcolor9": 3.000000,"mapcolor13": 13.000000,"pop_est": 40913584.000000,"gdp_md_est": 573900.000000,"pop_year": -99.000000,"lastcensus": 2010.000000,"gdp_year": -99.000000,"economy": "5. Emerging region: G20","income_grp": "3. Upper middle income","wikipedia": -99.000000,"fips_10": "","iso_a2": "AR","iso_a3": "ARG","iso_n3": "032","un_a3": "032","wb_a2": "AR","wb_a3": "ARG","woe_id": -99.000000,"adm0_a3_is": "ARG","adm0_a3_us": "ARG","adm0_a3_un": -99.000000,"adm0_a3_wb": -99.000000,"continent": "South America","region_un": "Americas","subregion": "South America","region_wb": "Latin America & Caribbean","name_len": 9.000000,"long_len": 9.000000,"abbrev_len": 4.000000,"tiny": -99.000000,"homepart": 1.000000 },"geometry": { "type": "Multipolygon","coordinates": [ [ [ [ -68.654124,-54.886244 ],[ -68.654135,-54.886245 ],[ -68.642343,-54.853653 ],[ -68.641988,-54.799174 ],
这是构建地图和覆盖 Choropleth 的代码
## Build the Map for South America
map = flm.Map(location = [-22.5,-56.5],zoom_start = 2.5)
flm.Choropleth (
geo_data = sa_geojson,name = "choropleth",date = cvd_tot_sa1,columns = ["id","population_density"],key_on = "feature.id",fill_color = "YlGn",fill_opacity = 0.7,legend_name = "population density",).add_to(map)
flm.LayerControl().add_to(map)
map
我已阅读帖子并确保 json 和数据文件中的 id
相同,并检查了 json 文件中的经纬度是否正确以确保其映射到正确的位置。
任何建议都会有所帮助 - 提前谢谢
- Python - 3.7.9
- 大叶 - 0.12.1
解决方法
您的错误只是打字错误。数据的指定参数名称是“数据”。第一次启动库时,需要了解很多关于数据结构以及如何将其与数据联系起来的知识。你可能花了很多时间来解决这个问题,但它肯定会在未来以巨大成果的形式回到你身边。祝你好运!
map = flm.Map(location = [-22.5,-56.5],zoom_start = 2.5)
flm.Choropleth (
geo_data = sa_geojson,name = "choropleth",data = cvd_tot_sa1,# date->data
columns = ["id","population_density"],key_on = "feature.id",fill_color = "YlGn",fill_opacity = 0.7,legend_name = "population density",).add_to(map)
flm.LayerControl().add_to(map)
map
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。