2016-04-13 22 views
0

python 2.7で異なるマーカーカラーでエラープロットを実行しようとしています。さらに、私は線をプロットすることも含めています。 私はここで道を見つけました:matplotlib errorbar plot - using a custom colormap色の散布図とバーのerrorbar()を使用します。matplotlib 1凡例のエントリが多すぎます

私の例のコードでもわかるように、凡例では、常に1つのエントリを(あまりにも)上に置いています。私は、なぜ、理解することはできません。それを除外しようとしましたが、それはうまくいきませんでした。私が実際に最初の凡例を呼ぶことができないので、何か役に立つものが見つからなかった。

アイデア?ここで

は私のコードです:

import pandas as pd 
import matplotlib.pyplot as plt 
import numpy as np 

%matplotlib inline 


data = pd.DataFrame() 
data['x'] = range(10) 
data['y'] = data.x 
data['err'] = .5 
data['col'] = np.where(data.y<5,'r','b') 

### setup 1-1 line 
lin = pd.DataFrame()       # setting 1-1 line 
lin['x'] = range(10) 
lin['y'] = range(10) 

### setup 1-2 line 
lin['x2'] = lin.x 
lin['y2'] = lin.y 

plt.errorbar(data.x, data.y, yerr = data.err, \ 
        xerr = .3, fmt=' ', markersize=4, zorder = 1) 
plt.scatter(data.x,data.y, marker='o', color = data.col, zorder = 2) 
plt.plot(lin.x,lin.y,'g-') 
plt.plot(lin.x2,1.8*lin.y2,'r-') 
plt.legend(['','1-1 line', '1-1.8 line','holla','molla'], loc=4) 

私が得るものです:あなたの助けのための

enter image description here

ありがとう!

+0

コードでこれを再現することはできません。 – tom

+0

は、spyderとjupyterの両方でうまく動作します。 numpy:1.11.0、pandas:0.18.0、mpl:1.3.1、多分バージョンの違いは? – Robert

+0

はい、実行されますが、追加の伝説のエントリ – tom

答えて

0

この全体をきれいにするには、コメントの代わりに適切な回答を投稿します。 問題は、matplotlibを1.3.1から1.5.1にアップグレードすることで解決できます。そのように簡単です。

関連する問題