8
我想要做的事似乎相當直接,但我有一段時間試圖讓它工作。我只是試圖使用imshow繪製圖像,然後在新數據到達時定期重新繪製圖像。如何使用python的matplotlib重繪圖片?
我已經開始了這一點:
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()
。
這讓我更近了一步。當我運行上面的代碼時,它會在執行開始時打開一個圖形,並且只在執行結束時繪製最終的圖形(而不是每次點擊返回時都會出現一個點)。我在Windows 7上運行python 2.7,如果這有什麼後果的話。 – kjgregory
我不知道。我已經測試它在Linux和Windows7上,它的工作原理。這可能來自你的matplotlib版本。我相信不同版本的語法可能會有所不同。我正在使用matplotlib 1.2.0 – user2660966
我發現如果你在那裏做一個plt.pause(),它會讓這個圖有機會在繼續執行之前重繪。插入等待的其他方法不這樣做。 – kjgregory