2014-05-06 31 views
0

我試圖繪製一個簡單的數據流順序(即時間相關變量),但我無法獲得任何輸出。因此,我嘗試了不同的「解決方案」,提出了實時繪圖在計算器中...但我得到的是再也沒有任何繪圖。 我看着動畫菜譜(http://wiki.scipy.org/Cookbook/Matplotlib/Animations),並試圖給定的例子之一爲好,在這裏抄錄如下:順序繪圖(例如實時數據圖)

from pylab import * 
import time 

ion() 

tstart = time.time()    # for profiling 
x = arange(0,2*pi,0.01)   # x-array 
line, = plot(x,sin(x)) 
for i in arange(1,200): 
    line.set_ydata(sin(x+i/10.0)) # update the data 
    draw()       # redraw the canvas 

print 'FPS:' , 200/(time.time()-tstart) 

同樣,我沒有圖形輸出......只是最終的打印。 有人可以告訴我爲什麼所有的例子可能工作,實際上不工作?

回答

0

這適用於我在iPython筆記本(python 2.7)。

也許你想確保你的pylab後端設置沒有設置爲內聯?

[你可能需要重新啓動你的內核,以使更改生效]

另一種可能性是,你的過程中仍存有以前的嘗試運行。

+0

有趣。所以這對你有用。我使用Spyder 2.1.13和Python 2.7.3 64位在Linux下的fedora 17.你是什麼意思,確保'後端設置pylab沒有設置爲內聯?'我如何檢查這一點。無論如何,感謝您的回覆。 – tomahna

+0

在iPython筆記本中,您設置'%pylab'而不是'%pylab inline'(必須重新啓動內核) - 在您的IDE中,應該有一個方便的菜單供您執​​行此操作。 –

+0

這可能確實是後端的問題。但是,在列出所有後端(使用plt.get_backend())之後,我嘗試了所有可用的後端(例如命令switch_backend('CocoaAgg'))。但是這並沒有改變任何東西。我還試圖殺死所有與python和spyder相關的進程,並重新啓動所有進程(確保沒有舊進程仍在運行),但它也無濟於事。小注*繪圖工作正常,如果我使用plt.show()...但我不能做任何實時然後... – tomahna