如何使用python的matplotlib重绘图像?

时间:2014-01-05 17:34:48

标签: python matplotlib imshow

我想要做的事情看起来相当简单,但我有一段时间试图让它发挥作用。我只是尝试使用imshow绘制图像,然后在新数据到达时定期重新绘制它。

我从这开始:

fig = figure()
ax = plt.axes(xlim=(0,200),ylim=(0,200))
myimg = ax.imshow(zeros((200,200),float))

然后我假设我可以像这样调用set_data来更新图像:

myimg.set_data(newdata)

我尝试了很多其他事情,例如我调用了ax.imshow(newdata),或者我在figure.show()之后尝试使用set_data()

1 个答案:

答案 0 :(得分:11)

每次向图中添加新内容时,只需调用figure.canvas.draw()即可。这将刷新情节。

from matplotlib import pyplot as plt

f = plt.figure()
ax = f.gca()
f.show()

for i in range(10):
    ax.plot(i, i, 'ko')
    f.canvas.draw()
    raw_input('pause : press any key ...')
f.close()