關於matplotlib,pylab,pyplot,ipython有很多問題,所以我很抱歉,如果你不滿意看到這個問題。我會盡量具體,因爲我一直在關注人們的問題,並查看pyplot和pylab的文檔,但我仍然不確定自己做錯了什麼。與代碼:matplotlib.pyplot/pylab沒有更新數字而isinteractive(),使用ipython -pylab
目標:每0.5秒繪製一個數字,並在繪圖命令被調用後立即更新圖形。
我在編碼這種嘗試如下(在IPython中-pylab運行):
import time
ion()
x=linspace(-1,1,51)
plot(sin(x))
for i in range(10):
plot([sin(i+j) for j in x])
#see **
print i
time.sleep(1)
print 'Done'
它正確地繪製每一行,但直到它已退出for循環。我試圖通過將draw()
寫入**
來強制重繪,但這似乎也不起作用。理想情況下,我想簡單地添加每行,而不是完全重繪。如果需要重新繪製,那很好。
額外嘗試解決:
只是在ion()
後,試圖加入hold(True)
無濟於事。
踢試圖show()
爲**
最接近的答案我發現我想要做的是在plotting lines without blocking execution,但show()
沒有做任何事情。
我很抱歉,如果這是一個簡單的要求,我正在尋找一些如此明顯的東西。對於它的價值,這出現了,當我試圖將matlab代碼從類轉換爲一些python供我自己使用。原來MATLAB(初始化刪除),我一直在努力轉換如下:
for i=1:time
plot(u)
hold on
pause(.01)
for j=2:n-1
v(j)=u(j)-2*u(j-1)
end
v(1)= pi
u=v
end
任何幫助,哪怕它只是「查找this_method」將是優秀的,所以我至少可以縮小我的努力搞清楚如何使用該方法。如果還有更多有用的信息,請告訴我。
[你應該使用'pyplot.pause'而不是'time.sleep'。](http://stackoverflow.com/questions/12822762/pylab-ion-in-python-2-matplotlib-1-1- 1-and-the-the-the-pro-the-pro) – 2013-06-05 23:36:43
我在Windows上使用QT4Agg後端時遇到了同樣的問題,我相信它與這個[github問題](https://github.com)有關/ matplotlib/matplotlib/issues/1646),使用pyplot.pause()修復它。 – seumas 2013-08-12 11:13:31