2014-01-15 29 views
1

我在向圖例添加標籤時遇到了一些問題。出於某種原因,matplotlib忽略了我在數據框中創建的標籤。任何幫助?地塊中的標籤

大熊貓版本: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是返回傳說爲「數字」,我想它說「一」。

回答

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() 

下圖顯示了改變的圖例第一軸線。你可以爲另一個軸做同樣的事情。

注:IPython自動完成幫助了很多想出這個答案!

enter image description here

+0

感謝,我也得到了它使用的軸的工作[0] .legend([「標籤圖1」],LOC =「最好」),但我仍然不知道爲什麼我的原始代碼不起作用。 – DataByDavid