在pandas中绘制不同的数据帧时更改绘图标签

Iva*_*van 2 python matplotlib pandas

我在数据透视表上汇总了一些时间序列信息,因此每个数据透视表都有标记为2015,2014等的列.我想比较每个数据透视表,所以我将它们绘制在同一个轴上:

print pv_test_A.columns
Int64Index([2010, 2011, 2012, 2013, 2014, 2015], dtype='int64')

print pv_test_B.columns
Int64Index([2010, 2011, 2012, 2013, 2014, 2015], dtype='int64')

fig, axes = plt.subplots()
pv_test_A.loc[:,[2015]].plot(ax=axes)
pv_test_B.loc[:,[2015]].plot(ax=axes)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,每一行在图表上都有相同的标签,2015.我尝试将label参数传递给图表无效.有没有办法重命名标签,而不必诉诸使用plt.legend或注释?

ASG*_*SGM 5

你可以使用.rename():

pv_test_A.loc[:,[2015]].rename(columns={2015: "New Label A"}).plot(ax=axes)
pv_test_B.loc[:,[2015]].rename(columns={2015: "New Label B"}).plot(ax=axes)
Run Code Online (Sandbox Code Playgroud)

基础数据将被保留,但要绘制的列将被赋予不同的标签以用于绘图目的.