实时滚动图

实时滚动绘图:环形缓冲、滑动平均与数据流订阅。

概述

quatm/GUI/entries/live_plot.py 提供 实时滚动绘图ScrollWindow 为多子图主 窗口,每个 ScrollPlot 子图订阅一条数据流的若干通道,维护环形缓冲并滚动显示散 点/曲线与滑动平均;PlotDataEditor 提供数据源下拉面板。

组件

组件说明
ScrollWindow多子图滚动主窗口:按属性恢复/新建子图,工具条可追加子图
ScrollPlot滚动子图:环形缓冲、散点与滑动平均曲线,右键菜单操作
PlotDataEditor数据源选择面板:下拉候选并写回属性/父图

关键方法(ScrollPlot)

方法说明
feedData把新数据块压入缓冲数组
setnewData定时拉取新数据喂给缓冲并刷新曲线
updatePlot把缓冲内有效数据刷到散点与滑动平均曲线
running_mean用累积和差分高效计算 N 点滑动平均
dataSelectDialog选择本图显示的数据通道
subscribe_window打开订阅编辑器重新订阅数据流
configureWindow暂停刷新,内嵌属性编辑修改本图属性
deletePlot从父窗口移除本图并清除属性

用法

from quatm.GUI.entries.live_plot import ScrollWindow

host = ScrollWindow(name="PMT 滚动监视", parent=parent)
host.addPlot()   # 追加一个滚动子图

之后在子图右键菜单中订阅数据流、选择通道并调整显示。缓冲长度、滑动平均开关与 窗口大小等配置保存在属性中,重启后自动恢复。