我想连续绘制传感器数据,并偶尔绘制垂直线来表示事件。我可以使传感器数据滚动,但是我不确定在使用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()
我如何使线随情节滚动(一旦过去的时间足够远,最终会显示在屏幕外)?