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

Pandas DataFrame绘图图例异常:无法将‘Series’改为指定名称

Pandas绘图图例显示“Series”而非自定义名称的解决办法

问题描述

我有一个以Date为Period Index的Pandas DataFrame,绘图时图例显示“Series”,但我希望显示“Loan type”。尝试使用reset_index()方法处理后,左上角仍持续显示“Series”。

数据示例

Series  Loans  Loans Housing  ...  Loans Agriculture  Loans_Other
Date                          ...                                
2018Q2  100.0      58.058425  ...          14.498113     2.123517
2018Q3  100.0      58.366364  ...          14.439221     2.097073
2018Q4  100.0      58.588861  ...          14.343509     1.917685
2019Q1  100.0      58.693234  ...          14.189217     1.964198
2019Q2  100.0      58.936376  ...          14.187947     1.848167

解决办法

出现该问题的核心原因是绘图时未明确指定图例名称,或是直接对未命名的Series对象进行绘图。以下是几种高效的解决方式:

  • 直接在绘图时指定label
    若单独绘制某一列数据,在plot()方法中传入label参数,再调用legend()显示自定义名称:

    import matplotlib.pyplot as plt
    df['Loans Housing'].plot(label='Loan type')
    plt.legend()
    plt.show()
    
  • 重命名目标Series
    先给要绘制的列设置自定义名称,再执行绘图操作:

    df['Loans Housing'].rename('Loan type').plot()
    plt.show()
    
  • 修改DataFrame列名(多列绘图场景)
    如果需要绘制多列并统一管理图例名称,直接修改DataFrame的列名后再绘图:

    # 重命名指定列
    df = df.rename(columns={'Loans Housing': 'Loan type'})
    df.plot()
    plt.show()
    
  • 注意事项
    使用reset_index()后,Date会转为普通列,确保你绘制的是贷款类型相关的列,而非Date列,避免出现异常图例。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 18:12:46