前面写的是关于逐点绘制波形,但是其坐标轴是不会动的这里进行坐标轴随波形同步进行移动的操作
**第一步:**先进行显示窗口的基本设置
win = pg.GraphicsWindow()
win.setWindowTitle('pyqtgraph example: Scrolling Plots')
p4 = win.addPlot() #添加一条波形
p4.setDownsampling(mode='peak')
p4.setClipToView(True)
**第二步:**对所需的全局变量做初始化
curve4 = p4.plot()
data3 = array.array('d') #这里的数组设置非常关键,在设定窗口显示不同点数时,很方便
ptr3 = 0
**第三步:**代码的改写,在前面动态波形的基础上对代码进行改写
def update2():
global data3, ptr3
tmp1 = np.random.normal()
if ptr3 <= 100:
data3.append(tmp1)
curve4.setData(data3[:ptr3])
else:
tmp = data3
# data3 = np.empty(data3.shape[0] * 2)
data3[:-1] = data3[1:]
data3[-1] = tmp1
curve4.setData(np.frombuffer(data3, dtype=np.double))
curve4.setPos(ptr3,0)
ptr3 += 1
添加定时器,来控制输入点数的频率
timer = pg.QtCore.QTimer()
timer.timeout.connect(update2)
timer.start(50)
if __name__ == '__main__':
import sys
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()