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

如何调整美国最低工资Choropleth地图的图例顺序与标题?

解决美国各州最低工资地图的图例排序与标题问题

核心修改点

  • 固定图例顺序:将工资区间列转为有序分类,强制Plotly按指定升序渲染图例
  • 修改图例标题:通过参数直接替换默认的"color"为描述性标题

修改后的完整代码

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

# 定义工资区间的升序顺序
wage_order = [
    '$7.25-8', '$8-9', '$9-10', '$10-11', '$11-12',
    '$12-13', '$13-14', '$14-15', '$15-16', '$17-18',
    'No state minimum wage'
]

# 将工资区间列转为有序分类
df['wage_cat'] = pd.Categorical(df['wage_cat'], categories=wage_order, ordered=True)

fig = px.choropleth(
    locations=df['state'], 
    locationmode='USA-states',
    color=df['wage_cat'],
    color_discrete_map={
        '$7.25-8':'#e0e6f6',
        '$8-9':'#c1ccee',
        '$9-10':'#a2b3e5',
        '$10-11':'#8399dd',
        '$11-12':'#6480d4',
        '$12-13':'#4566cb',
        '$13-14':'#3353b7',
        '$14-15':'#2a4598',
        '$15-16':'#223779',
        '$17-18':'#19295A',
        'No state minimum wage':'#f9fafd'
    },
    # 修改图例标题
    labels={'color': '最低工资区间'}
)

fig.update_layout(
    title_text='State Minimum Wage as of 1-1-24',
    geo = dict(
        scope='usa',
        projection=go.layout.geo.Projection(type = 'albers usa'),
        showlakes=True,
        lakecolor='rgb(255, 255, 255)'
    )
)
                   
fig.show()

关键说明

  1. 有序分类处理:通过pd.Categorical指定categories和ordered=True,让Plotly识别区间的顺序关系,不再按默认规则排序
  2. 图例标题修改:labels参数可以映射颜色字段的显示名称,直接替换默认的"color"为更清晰的"最低工资区间"
  3. 依赖补充:代码中补充了plotly.graph_objects和pandas的导入,避免原代码中go.layout.geo.Projection的报错问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 10:52:27