2013-06-21 34 views
1

我正在嘗試創建一個gui,它會在收集數據時不斷更新matplotlib圖。我希望情節保持過去5個數據點,並在最近的數據點前留出一些空白空間。如何不斷更新pyplot數字

這裏是我的腳本的一個非常簡化版本,示出了我的問題是:

import numpy as np 
import pylab 
import time 

pylab.ion() 

x1 = [0,1,2,3,4,5] 
x2 = [5,6,7,8,9,10] 

y1 = [5,6,7,8,7,8] 
y2 =[8,7,6,5,4,3] 

rate = 1 
timer = 0 
count = 0 

while count <2: 
    if timer == 0: 
     pylab.plot(x1,y1) 
     pylab.show() 
     timer += rate 
     count += 1 
     time.sleep(1) 
    else: 
     pylab.plot(x2,y2) 
     pylab.draw() 
     timer += rate 
     count += 1 
     time.sleep(1) 

用show(塊= FALSE)和一些其他的事情,我已經嘗試過。無論如何要強制數字保持開放,而代碼繼續,我可以用它來更新它的命令?任何其他建議將不勝感激。

+2

使用'plt.pause'而不是'time.sleep' take make sur e gui正確更新。 – tacaswell

回答

0

以下順序爲我工作..

  • 離子() - 互動上
  • 秀()
  • 圖()

不需更新喜歡這裏 圖 - 劇情() - draw() - 而不是show()