我想要做的事情看起来相当简单,但我有一段时间试图让它发挥作用。我只是尝试使用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()
。
答案 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()