我發現對python/matplotlib的最新更新已經破壞了一個關鍵特性,即在代碼執行過程中定期更新或「刷新」matplotlib圖的功能。下面是一個最小(非)工作示例。在代碼執行過程中更新matplotlib圖
import numpy as np
from matplotlib.pyplot import *
from time import sleep
x = np.array([0])
y = np.array([0])
figure()
for i in range(51):
gca().cla()
plot(x,y)
xlim([0,50])
ylim([0,2500])
draw()
show(block = False)
x = np.append(x,[x[-1]+1])
y = np.append(y,[x[-1]**2])
sleep(0.01)
如果我運行使用Python 3.4.3和1.4.3 matplotlib這個節目,我可以看到的情節不斷更新,曲線成長,如程序運行。但是,在matplotlib 1.5.3中使用Python 3.5.1時,matplotlib窗口打開,但不顯示圖。相反,它不斷顯示窗口「沒有響應」,並且只在代碼完成執行時才顯示最終的圖形。
我該怎麼辦?有什麼方法可以實現我想要使用最新版本的功能?
注意:如果這有所幫助,我從默認的IDLE環境運行此操作。
你有沒有在你的導入之間嘗試過這一行:'%matplotlib inline'? – estebanpdl
@estebanpdl在我看來,命令是爲了在ipython中使用來強制圖表出現在命令窗口中。我不認爲這就是我要找的。 – zephyr