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

如何修改Seaborn折线图图例中样式变量的标签文本?

修改Seaborn折线图图例的特定标签

有两种常用方法可以实现你的需求,可根据是否允许修改原始数据选择:

方法一:提前修改DataFrame中的标签(推荐)

图例文本直接对应数据列的取值,先替换gsector列中的目标值再绘图即可:

# 替换数据中的标签值
weekly_port_ret['gsector'] = weekly_port_ret['gsector'].replace({20.0: 'Industrial', 45.0: 'IT'})

# 绘制折线图
ax = sns.lineplot(data=weekly_port_ret,
                  x='week', y='R', hue='high_leverage', style='gsector')

ax.set(title='Weekly Portfolio Returns - Daily Rebalancing',
       xlabel='Week in 2020',
       ylabel='Weekly Return')

plt.show()

方法二:直接修改已生成的图例文本

如果不想改动原始数据,可获取图例对象后替换指定文本:

ax = sns.lineplot(data=weekly_port_ret,
                  x='week', y='R', hue='high_leverage', style='gsector')

ax.set(title='Weekly Portfolio Returns - Daily Rebalancing',
       xlabel='Week in 2020',
       ylabel='Weekly Return')

# 获取图例的手柄和标签
handles, labels = ax.get_legend_handles_labels()

# 遍历标签并替换目标内容
updated_labels = []
for lbl in labels:
    if lbl == '20.0':
        updated_labels.append('Industrial')
    elif lbl == '45.0':
        updated_labels.append('IT')
    else:
        updated_labels.append(lbl)

# 更新图例
ax.legend(handles=handles, labels=updated_labels)

plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 06:06:45