как перерисовать изображение с помощью matplotlib python?

то, что я пытаюсь сделать, кажется довольно простым, но у меня чертовски много времени, пытаясь заставить его работать. Я просто пытаюсь нарисовать изображение с помощью 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 ответов


вы можете просто назвать цифру.холст.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()