2016-01-25 18 views
1

我想情節ploting當繪製窗口中的一些數據活所以我想這個簡單的例子:Matplotlib不打開在一個週期

import time 
import numpy as np 
import matplotlib.pyplot as plt 

plt.axis([0, 1000, 0, 1]) 
plt.ion() 
plt.show() 

for i in range(1000): 
    print "in" 
    y = np.random.random() 
    plt.scatter(i, y) 
    plt.draw() 
    time.sleep(0.05) 

繪圖窗口只是打開了,但沒有什麼是ploted上它(該窗口實際上停止響應)。我注意到它的確在執行for循環,因爲我可以選擇「in」打印輸出

+0

試試'''plt.figure()'''以前'''plt.draw()''' – threxx

+0

你好@threxx,我這樣做,但它實際上行不通。只有一堆fempty彈出。如果我指出要繪製int的圖(即plt.figure(1)),仍然沒有任何反應 –

回答

2

我遇到了使用Python3及時繪製的問題。
這應該適合你。

import numpy as np 
import matplotlib.pyplot as plt 

plt.axis([0, 1000, 0, 1]) 
plt.ion() 
plt.show() 

for i in range(1000): 
    print "in" 
    y = np.random.random() 
    plt.scatter(i, y) 
    plt.pause(0.05) 
+0

「暫停」作爲「sleep」工作的原因不在於「暫停」也運行GUI事件循環。 – tacaswell

+0

@jotto,非常感謝,它確實有效:D –

+0

@tcaswell,「'pause'運行GUI事件循環的意思是什麼」 –