使用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循环中为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)
并且每个循环都不会更新标签内容。它与第一个标签保持一致。
你可以帮忙吗?谢谢!
答案 0 :(得分:2)
出现问题
ax.text(x, y, z, label)
呼叫。 text
函数的调用签名是:
text(x, y, s, fontdict=None, **kwargs)
答案 1 :(得分: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')]
您是否打算num
成为0, samp14, 2*samp14, len(simplexpath)-1
?
你能给我们一个样本输出吗?