使用PyQtGraph繪制數據滾動圖形(3)


import pyqtgraph as pg
import numpy as np
from pyqtgraph.Qt import QtGui, QtCore


app = pg.QtGui.QApplication([])
win = pg.GraphicsWindow(title="數據滾動")
win.resize(600,300)

p = win.addPlot()
data = np.random.random(size=50)
curve = p.plot(data)

def update():
    global data, curve
    data[:-1] = data[1:] #數據向左滾動1位,也可以用data = np.roll(data,-1)實現
    data[-1] = np.random.random() #末位更改為隨機值
    curve.setData(data)
        
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(100)

app.exec_()

上面的圖形,數據更新后,橫坐標並沒有跟隨新的數據做出改變,這里可以用setPos來實現

import pyqtgraph as pg
import numpy as np
from pyqtgraph.Qt import QtGui, QtCore


app = pg.QtGui.QApplication([])
win = pg.GraphicsWindow(title="數據滾動")
win.resize(600,300)

p = win.addPlot()
data = np.random.random(size=50)
curve = p.plot(data)
ptr=0
def update():
    global data, curve, ptr
    data[:-1] = data[1:] #數據向左滾動1位,也可以用data = np.roll(data,-1)實現
    data[-1] = np.random.random() #末位更改為隨機值
    curve.setData(data)
    ptr += 1
    curve.setPos(ptr,0)
        
timer = QtCore.QTimer()
timer.timeout.connect(update)
timer.start(100)

app.exec_()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM