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

Pandas绘图时能否不修改DataFrame列名自定义图例标签?

问题解答

结论

无需修改原DataFrame的列名即可实现自定义图例标签。你之前使用yticks和ylabel参数未达到预期,是因为这两个参数分别用于修改Y轴刻度文本、Y轴总标题,和图例配置没有关联。

实现方式

推荐使用手动设置图例的方案,只需在原有代码基础上补充少量逻辑即可:

  1. 按你传入的绘图列顺序,提前定义好对应的自定义标签列表
  2. 接住pandas绘图返回的Axes对象,调用legend方法传入自定义标签列表

修改后的参考代码如下:

import matplotlib.pyplot as plt

# 绘图用列列表,顺序和自定义标签一一对应
marc = ['RT_norm', 'RT_user_norm', 'Metacritic_norm', 'Metacritic_user_nom', 'IMDB_norm', 'Fandango_Stars']
# 自定义图例标签,顺序和上述marc列表的列顺序完全一致
custom_labels = [
    'Rotten Tomatoes 标准化评分',
    'Rotten Tomatoes 用户标准化评分',
    'Metacritic 标准化评分',
    'Metacritic 用户标准化评分',
    'IMDB 标准化评分',
    'Fandango 星级'
]

# 绘图时接住返回的Axes对象
ax = df.head().plot.bar(x='FILM', y=marc, figsize=(10,8), grid=True)
# 手动替换图例标签
ax.legend(custom_labels)

plt.title('各平台电影评分对比')
plt.ylabel('评分')
plt.xlabel('电影')
plt.show()

注意:自定义标签列表的顺序必须和marc列表的列顺序完全匹配,否则会出现图例和对应数据不匹配的问题


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 07:15:04