2012-02-09 32 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) 

我在打電話printPointLabel四個不同點循環

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) 

和標籤內容沒有在每個循環更新。它與第一個標籤保持一致。

你能幫忙嗎?

謝謝!

回答

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)',但問題是:該zip很奇怪。 – 2012-02-09 10:30:42

相關問題