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

如何在Plotly Express的choropleth_mapbox中添加城市边界?

用Plotly Choropleth Mapbox添加城市边界轮廓

当然可行,你可以通过叠加第二个choropleth_mapbox trace实现,核心是把城市边界的GeoJSON作为新图层传入,只渲染边界线条,不填充颜色。

实现步骤与代码示例

假设你已经把城市边界的shapefile转换成了GeoJSON格式(变量名为city_boundary_geojson),且GeoJSON的properties里有唯一标识字段(比如city_id),直接在现有代码基础上添加以下逻辑:

import pandas as pd
import plotly.express as px

# 你的原有邮编地图代码
zip_map_fig = px.choropleth_mapbox(zips, geojson=zip_map_zips, locations='Zip Code', 
                                color='price', 
                                range_color=(1, 5), 
                                featureidkey='properties.Zip Code',
                                center={'lat':mkt_lat, 'lon':mkt_long}, 
                                labels={'price' : 'Price'}, 
                                mapbox_style='carto-positron', 
                                color_continuous_scale='blues',
                                opacity=0.3, 
                                zoom=9,
                                hover_data=['Zip Code'])

# 添加城市边界轮廓的choropleth_mapbox图层
# 构造一个极简数据集,只包含边界的唯一标识
boundary_df = pd.DataFrame({'city_id': ['目标城市ID']})  # 多城市的话传多个ID列表
zip_map_fig.add_trace(px.choropleth_mapbox(
    data_frame=boundary_df,
    geojson=city_boundary_geojson,
    locations='city_id',
    featureidkey='properties.city_id',  # 必须和GeoJSON属性字段对应
    color=[0],  # 固定值,仅用于满足参数要求
    color_continuous_scale=['rgba(0,0,0,0)'],  # 填充色完全透明
    opacity=0,
    hover_data=None  # 不需要hover显示边界信息可设为None
).data[0])

# 调整边界线条样式
zip_map_fig.update_traces(
    selector={'type': 'choroplethmapbox'},
    marker_line_color='black',  # 边界线颜色,可换成red、blue等
    marker_line_width=2  # 边界线宽度,按需调整
)

zip_map_fig.update_geos(fitbounds='locations', visible=True)
zip_map_fig.show()

关键细节说明

  • 城市边界的GeoJSON必须格式正确,featureidkey要和GeoJSON中每个feature的properties字段严格匹配
  • 如果要显示多个城市边界,只需把boundary_df里的city_id换成包含多个ID的列表即可
  • 通过marker_line_color和marker_line_width可以自定义边界的样式,让轮廓更突出

内容的提问来源于stack exchange,提问作者SergeNYC

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 03:33:29