Линия прокрутки pyqtgraph - PullRequest
1 голос
/ 13 мая 2019

Я бы хотел непрерывно отображать данные датчика и иногда рисовать вертикальные линии для представления событий.Я могу получить данные датчика для прокрутки, но я не уверен, как прокручивать линии за кадром после использования addLine, чтобы добавить их, и график в итоге выглядит так:

enter image description here

Линия остается на месте на краю графика (в то время, когда я хотел его нарисовать), в то время как реальный график становится все более сжатым.

Вот мой код:

ptr = 0
acc_data = deque(maxlen=window_width)
plot = QtGui.QApplication([])
win = pg.GraphicsWindow()
acc_plot = win.addPlot(title="Accelerometer Data")
acc_curve = acc_plot.plot()

while True:
    data = await websocket.recv()
    data = json.loads(data)
    if data["event"] == "accelerometer":
        data = data["data"]
        acc_data.append(float(data["x"]))
        ptr += 1
        acc_curve.setData(acc_data)
        acc_curve.setPos(ptr, 0)
        QtGui.QApplication.processEvents()
    elif data["event"] == "press":
        acc_plot.addLine(x=ptr, y=None)
        QtGui.QApplication.processEvents()

Как я могу сделать прокрутку линии с сюжетом (и, в конечном итоге, за кадром, как только время пройдет достаточно далеко в прошлом)?

...