Я бы хотел непрерывно отображать данные датчика и иногда рисовать вертикальные линии для представления событий.Я могу получить данные датчика для прокрутки, но я не уверен, как прокручивать линии за кадром после использования addLine
, чтобы добавить их, и график в итоге выглядит так:
Линия остается на месте на краю графика (в то время, когда я хотел его нарисовать), в то время как реальный график становится все более сжатым.
Вот мой код:
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()
Как я могу сделать прокрутку линии с сюжетом (и, в конечном итоге, за кадром, как только время пройдет достаточно далеко в прошлом)?