Plotly choropleth_mapbox无法显示多边形且无报错问题求解
问题原因
- 匹配逻辑错误:
featureidkey指定了使用GeoJSON要素的properties.id字段与DataFrame数据匹配,但locations参数传入的是df.name,二者取值完全不对应,Plotly无法找到匹配的GeoJSON要素,因此不会渲染多边形。 - 第三个GeoJSON要素坐标异常:该要素的第三个坐标点纬度为42.141329127,和其余坐标42.04左右的纬度相差0.1度,跨度过大,即使匹配成功,在当前设置的缩放等级下也无法在视野内看到该多边形。
修复方案
两种修复方式二选一即可:
- 保留
featureidkey="properties.id",将locations参数改为df.id,修改后的绘图代码如下:
fig = px.choropleth_mapbox(df, geojson=gjson, color=df.value, locations=df.id, featureidkey="properties.id", center={"lat": 42.04951952053175, "lon": 1.3925319577334843}, mapbox_style="carto-positron", zoom=14) fig.show()
- 保留
locations=df.name,将featureidkey改为properties.name。
内容的提问来源于stack exchange,提问作者Mauro Assis
相关产品推荐
相关产品推荐

