Choropleth地图区域无法着色问题求助
Choropleth地图颜色不显示问题排查与修复
先看你提供的代码,核心问题出在folium.Choropleth的columns参数使用上:
- 这个参数必须传入包含两个元素的列表,第一个是数据框中与地理数据
feature.id匹配的关联列(比如地区ID),第二个是要用来渲染颜色的数值列(比如学生总数)。你现在只传了['unis_colleges'],导致地理区域和数据值无法关联,自然不会显示颜色。
修复后的代码示例:
# 初始化地图 m = folium.Map(location=[48.0196, 66.9237], tiles='cartodbpositron', zoom_start=6) # 添加Choropleth图层,修正columns参数 folium.Choropleth( geo_data=map.__geo_interface__, name='choropleth', data=student_total, columns=['地区ID列名', '学生总数列名'], # 替换为你数据框中实际的列名 key_on="feature.id", fill_color='YlGnBu', legend_name='2023年各地区学生数量' ).add_to(m) # 显示地图 m
另外还可以排查这几个点:
- 确认
student_total里的地区ID列和地理数据的feature.id格式完全一致(比如都是字符串/整数,无大小写、空格差异) - 检查
student_total是否有缺失值,可用student_total.dropna()处理后再尝试 - 打印
map.__geo_interface__['features'][0],确认地理数据里确实存在id字段
内容的提问来源于stack exchange,提问作者Jennie
相关产品推荐
相关产品推荐

