如何在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
相关产品推荐
相关产品推荐

