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
相关产品推荐
相关产品推荐

