>ランダムデータのスクロール
スクロールと表現しましたが、見た目はスクロールしています。しかし、実際はデータをずらして再描画しています。 再描画では画面のチラつきがあるのですが、見た目それはありません。

ソースです。

# -*- coding: utf-8 -*-

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

win = pg.GraphicsLayoutWidget(size=(500, 450), show=True)
win.setWindowTitle('ランダムデータのスクロール')

plt = win.addPlot()
plt.setRange(yRange=[-4, 4])

curve = plt.plot(pen='c')

data = np.empty(100)
ptr = 0

# update  plots
def update():
    global data, ptr
    if ptr >= data.shape[0]:
        temp = data[1:]
        data = np.append(temp, np.random.normal())
    else:        
        ptr += 1
        if ptr < data.shape[0]:
            data[ptr] = np.random.normal()
    curve.setData(data)

timer = pg.QtCore.QTimer()
timer.timeout.connect(update)
timer.start(50)

if __name__ == '__main__':
    pg.mkQApp().exec_()
超簡単なソースにしました。タイマーを使って50msごとに描画をします。データは100個用意しました。
ポインタptrが99まではdataにそのまま配置します。
100を超えると1から99までの99個のdataをtempにコピーします。
dataに100個目の乱数データをセットします。これで1データ分ずれたデータができました。

キモとなるところは、タイマーにイベントハンドラーupdateをセット。
opdateでデータを更新して再描画。
です。

これを応用すればリアルタイムに音声波形はその解析データなどを表示できます。