我想要做的事情看起来相当简单,但我有一段时间试图让它发挥作用.我只是尝试使用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),或者我尝试在set_data()之后使用figure.show().
解决方法:
每次向图中添加新内容时,只需调用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()