You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python的Folium库制作巴西州级Choropleth地图遇到问题

搞定Folium巴西州级Choropleth地图的常见坑

嘿,看你给出的代码片段,最后一行folium.LayerContro...明显没写完,这是第一个要补全的小问题,得改成folium.LayerControl().add_to(m),不然图层控件没法正常显示哦。

接下来针对Choropleth地图不渲染、数据匹配不上这些常见问题,给你几个排查方向:

1. 核对key_on参数和GeoJSON的结构

你代码里用了key_on='feature.id',但很多巴西州的GeoJSON文件里,州的标识其实藏在feature.properties里,比如feature.properties.sigla(州缩写)或者feature.properties.name(州全称)。你得打开br-states.json看看每个feature的字段,确保这个参数和你new_data里State列的格式完全对应。

举个例子,如果你的GeoJSON里州缩写存在feature.properties.sigla,而new_data的State列是SP、RJ这类缩写,那key_on就得改成'feature.properties.sigla'才行。

2. 确保数据匹配无误

  • 检查new_data里的State值和GeoJSON对应字段完全一致,大小写、空格都不能错,比如“Rio de Janeiro”和“Rio De Janeiro”会直接匹配失败;
  • 确认QTY列是数值类型,Choropleth靠数值渲染颜色,如果是字符串得先转成数值:new_data['QTY'] = pd.to_numeric(new_data['QTY'], errors='coerce')(假设你用pandas处理数据)。

3. 修正后的完整代码示例

给你一个可以直接参考的完整代码模板,你根据自己的实际情况调整就行:

import folium
import json
import pandas as pd  # 假设用pandas处理数据

# 加载本地GeoJSON文件
with open('br-states.json') as json_data:
    br_states_geo = json.load(json_data)

# 确保数据是DataFrame格式(如果不是的话转一下)
new_data = pd.DataFrame(new_data)

# 初始化地图
m = folium.Map(
    location=[-18.826592, -55.212558],
    zoom_start=4,
    tiles='OpenStreetMap'
)

# 添加Choropleth图层,记得调用add_to(m)把图层加到地图上
folium.Choropleth(
    geo_data=br_states_geo,
    name='choropleth',
    data=new_data,
    columns=['State', 'QTY'],
    key_on='feature.properties.sigla',  # 这里根据你的GeoJSON结构调整
    fill_color='YlGn',
    fill_opacity=0.7,
    line_opacity=0.2,
    legend_name='Unemployment Rate (%)'
).add_to(m)

# 添加图层控件,让用户可以切换图层
folium.LayerControl().add_to(m)

# 保存地图为HTML文件,或者在Notebook里直接display(m)
m.save('brazil_unemployment_map.html')

4. 其他排查小技巧

  • 确认br-states.json的文件路径正确,要是路径错了地图根本加载不出GeoJSON;
  • 如果地图加载后没颜色,打开浏览器开发者工具(按F12)看看控制台报错,比如有没有GeoJSON加载失败、数据匹配错误的提示,能帮你快速定位问题。

内容的提问来源于stack exchange,提问作者Rafael Rodrigues Santos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:41:46