matplotlib - 绘图中的标签

  显示原文与译文双语对照的内容

我在向图例添加标签时遇到一些问题。 由于某些原因matplotlib忽略了我在dataframe中创建的标签。 任何帮助?

Pandas 版本:0.13.0
matplotlib版本:1.3.1


import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt

# Sample dataframe
d = {'date': [pd.to_datetime('1/1/2013'), pd.to_datetime('1/1/2014'), pd.to_datetime('1/1/2015')],
 'number': [1,2,3],
 'letter': ['A','B','C']}
df = pd.DataFrame(d)

####################
fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(13, 10))
fig.subplots_adjust(hspace=2.0) ## Create space between plots

# Chart 1
df.plot(ax=axes[0], label='one')

# Chart 2
df.set_index('date')['number'].plot(ax=axes[1], label='two')

# add a little sugar
axes[0].set_title('This is the title')
axes[0].set_ylabel('the y axis')
axes[0].set_xlabel('the x axis')
axes[0].legend(loc='best')
axes[1].legend(loc='best');

问题是图表 1正在将图例作为"号码"返回,我希望它表示"一个"。

时间: 作者:

将为第一个轴说明这一点。 你可以重复一下。


In [72]: fig, axes = plt.subplots(nrows=1, ncols=2, figsize=(13, 10))

获取对轴的引用


In [73]: ax=df.plot(ax=axes[0])

获取图例


In [74]: legend = ax.get_legend()

获取图例的文本


In [75]: text = legend.get_texts()[0]

打印图例的当前文本


In [77]: text.get_text()
Out[77]: u'number'

设置所需文本


In [78]: text.set_text("one")

要更新的图形

 
In [79]: plt.draw()

 

下图显示了第一轴的更改图例。 你可以对其他轴执行同样的操作。

NB: autocomplete帮助很多人发现这个答案 !

enter image description here

作者:
...