2012-02-09 7 views
0

matplotlibを使用して、ラベルを印刷する次の関数を定義します。ラベルは正しい場所にありますが、ラベルが正しくありません。Matplotlib - リスト内のアイテムから構築されたポイントラベル

def printPointLabel(x,y,z,iternum,ax): 
    print x 
    label = '(%d, %d), ITER%s' % (x, y, iternum) 
    ax.text(x, y, z, label) 

は私がループ

for i,num,c in zip((0,sampl4,2*sampl4,len(simplexpath)-1),(0,sampl4,2*sampl4,len(simplexpath)),('r','r','g','b')): 
    appendSimplex(xs,ys,zs,col,simplexpath[i], peaks, c) 
    printPointLabel(simplexpath[i][0][0],simplexpath[i][0][1],peaks([simplexpath[i] [0][0],simplexpath[i][0][1]]),num,ax) 

のための4つの異なるポイントのためprintPointLabelを呼び出し、ラベルのコンテンツは、各ループで更新されていません。最初のラベルと同じままです。

お手伝いできますか?

ありがとうございます!

答えて

2

ax.text(x, y, z, label) 

コールに問題があります。 text関数の呼び出しシグネチャは次のとおりです。

text(x, y, s, fontdict=None, **kwargs) 
0
>>> sampl4 = "samp14" 
>>> simplexpath = "simplexpath" 
>>> zip((0,sampl4,2*sampl4,len(simplexpath)-1),(0,sampl4,2*sampl4,len(simplexpath)),('r','r','g','b')) 
[(0, 0, 'r'), 
('samp14', 'samp14', 'r'), 
('samp14samp14', 'samp14samp14', 'g'), 
(10, 11, 'b')] 

num0, samp14, 2*samp14, len(simplexpath)-1にしようとしましたか?

サンプル出力を教えてください。

+1

実はその最後のものは 'LEN(simplexpath)'ですが、ポイントは略:そのジッパーは奇妙です。 –

関連する問題