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

如何在Plotly美国县级Choropleth地图上层显示州边界

解决Plotly县级Choropleth地图州边界显示在上方的问题

你的问题核心是:Plotly中地理图层(geos)的州边界默认会被Choropleth的数据填充层覆盖,而你尝试的双层Choropleth方案无法正确叠加州边界。以下是最简洁的解决方案:

正确实现方式:直接修改主图地理属性

不需要创建第二个Choropleth图层,只需在主图中直接配置地理布局,隐藏县边界并显示州边界,同时确保数据层的县边界被关闭。

修改后的完整代码

import json
import pandas as pd
import plotly.express as px
from urllib.request import urlopen

with urlopen('https://raw.githubusercontent.com/plotly/datasets/master/geojson-counties-fips.json') as response:
    counties = json.load(response)

# 加载你的县级数据(示例中假设df已包含fips和increase_12yr列)
# df = pd.read_csv("your_data.csv")

fig = px.choropleth(df,
   geojson=counties,
   locations='fips',
   color='increase_12yr',
   color_continuous_scale="Reds",
   range_color=(0, 350),
   center = {"lat": 37.0902, "lon": -95.7129},
   scope='usa',
   basemap_visible=False,
   marker_line_width=0  # 关闭数据层的县边界线
)
fig.update_layout(margin={"r":0,"t":0,"l":0,"b":0})

# 配置地理图层:显示州边界,隐藏县边界
fig.update_geos(
    showsubunits=True,        # 启用州级子单元显示
    subunitcolor="black",     # 设置州边界颜色
    subunitwidth=2,           # 设置州边界宽度(可根据需求调整)
    showcounties=False,       # 隐藏县级边界
    basemap_visible=False
)

fig.show()

原方案失效原因

你创建的第二个Choropleth图层本质还是县级填充层,且Plotly的地理布局(geos)是全局唯一的——第二个图层的update_geos设置不会覆盖主图的地理配置,导致州边界仍处于主图地理层,被数据填充层遮挡。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 03:15:22