实时滚动图
实时滚动绘图:环形缓冲、滑动平均与数据流订阅。
概述
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() # 追加一个滚动子图
之后在子图右键菜单中订阅数据流、选择通道并调整显示。缓冲长度、滑动平均开关与 窗口大小等配置保存在属性中,重启后自动恢复。