2013-04-28 18 views
5

私は、Pythonでプロットのセットを持っていて、それぞれ別々に凡例を追加したいと思っています。私はforループでプロットを生成しており、凡例を動的に追加したいと考えています。Pythonのmatplotlibプロットに凡例を動的に追加する

最後の凡例だけが表示されています。私はそれらをすべてオフに表示させたい

for q in range(1,10): 
     matplotlib.pylab.plot(s_A_approx, label = q) 
matplotlib.pylab.legend(loc = 'upper left') 
matplotlib.pylab.show() 
+1

は、それはあなたが求めているものは不明だ私には。上記のコードでは達成できないことは何をしたいのですか? – drs

+0

私は必要な伝説の9セットを得ることができません。私はちょうど最後のものを取得しています。私も の文を追加しました 'matplotlib.pylab.hold(真)' –

+0

あなたは 'legend'呼び出しをループの中に入れたくないのですか? – nobar

答えて

8

私はあなたの問題を再現できません。スクリプトを少し修正するだけで、あなたが期待していることは私のために働いています。

import matplotlib.pylab 
import numpy as np 

for q in range(1,10): 
    # create a random, 100 length array 
    s_A_approx = np.random.randint(0, 100, 100) 
    # note I had to make q a string to avoid an AttributeError when 
    # initializing the legend 
    matplotlib.pylab.plot(s_A_approx, marker='.', linestyle='None', label=str(q)) 

matplotlib.pylab.legend(loc='upper left') 
matplotlib.pylab.show() 

resulting plot


それが助け場合は、ここに私のmatplotlibのバージョンです:

>>> import matplotlib 
>>> matplotlib.__version__ 
'1.0.1' 
関連する問題