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

如何在Python Plotly美国州级热力图中为指定州添加红色粗边框?

在Plotly美国州热力图中为指定州添加红色粗边框

要给满足特定条件的州添加红色粗边框,你可以在现有热力图基础上叠加一个新的地理轨迹层,用go.Scattergeo绘制目标州的边界。具体实现如下:

步骤1:筛选目标州

先从数据框DF中提取符合你需求的州,示例以“人均生物柴油消耗量超过5加仑”为例:

# 替换成你的实际筛选条件
target_states = DF[DF['2020 Per Capita BD Consumption (gal/person)'] > 5]['State'].tolist()

步骤2:整合完整代码

将边框轨迹添加到你已有的热力图中,完整代码如下:

import plotly.express as px
import plotly.graph_objects as go

# 原始热力图生成代码
fig_consump_percap = px.choropleth(DF,
                    locations='State', 
                    locationmode="USA-states", 
                    scope="usa",
                    color='2020 Per Capita BD Consumption (gal/person)',
                    color_continuous_scale="algae", 
                    )

# 筛选目标州(替换为你的实际条件)
target_states = DF[DF['2020 Per Capita BD Consumption (gal/person)'] > 5]['State'].tolist()

# 添加红色粗边框轨迹
fig_consump_percap.add_trace(go.Scattergeo(
    locations=target_states,
    locationmode='USA-states',
    scope='usa',
    fill='none',  # 仅显示边框,不覆盖原热力图颜色
    line=dict(color='red', width=3),  # 红色粗边框,可调整width值改变粗细
    hoverinfo='skip'  # 禁用该轨迹的hover提示,避免干扰原热力图交互
))

# 你的布局更新代码
fig_consump_percap.update_layout(
      title_text = '2020 Per Capita Biodiesel Consumption by State',
      title_font_family="Times New Roman",
      title_font_size = 22,
      title_font_color="black", 
      title_x=0.45,
    margin={"r":50,"t":50,"l":50,"b":50},
    legend=dict(
    yanchor="top",
    y=0.5,
    xanchor="left",
    x=0.5
))

fig_consump_percap.show()

关键细节说明

  • 若你需要标记固定的几个州,直接将target_states设为州缩写列表即可,比如['CA', 'TX', 'IA']
  • 调整line参数中的width值可以改变边框粗细,color可替换为其他颜色代码
  • hoverinfo='skip'确保原热力图的hover提示不受新轨迹干扰

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 12:05:43