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

时间:2015-06-05 12:22:50

标签: python pandas matplotlib

我在数据透视表上汇总了一些时间序列信息,因此每个数据透视表都有标记为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)

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

1 个答案:

答案 0 :(得分: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)

保留基础数据,但为绘图目的,要绘制的列将被赋予不同的标签。