上位机数据曲线实时绘制,源码直接用
⭐️本文相关《学习资料》在最下面,可直接得 ↓↓↓
⭐️本文相关《学习资料》在最下面,可直接得 ↓↓↓
一、核心技术选型(小白也能懂)
- PyQt5
:搭建上位机图形界面,稳定适配 Windows/Linux - Matplotlib
:专业绘图库,支持高精度曲线渲染 - 定时器刷新
:固定频率更新数据,保证曲线流畅性 - 数据队列管理
:限制曲线长度,避免内存溢出、卡顿
二、完整源码(直接复制运行)
环境安装
先安装依赖库,复制命令到终端执行:


三、核心知识点讲解(上位机开发必掌握)
1. 滑动曲线实现原理(工业标准)

np.roll(数组, -1)
:把所有数据向左移动一位,最左边数据丢弃 数组[-1] = 新数据
:最新采集的数据添加到曲线末尾 -
固定 max_points点数,永远不会卡顿,这是工业上位机通用方案
2. 流畅无闪烁关键
很多新手实时绘图会疯狂卡顿闪烁,我们用了两个优化:
-
只更新曲线数据,不重新创建图表 -
用 canvas.draw()轻量刷新,而非重建画布

实际项目替换方案:
-
串口数据:用 pyserial读取串口缓冲区数据 -
TCP/IP 网口:用 socket接收设备上报数据 -
文件 / 数据库:实时读取日志 / 数据表
四、代码自定义修改(快速适配你的项目)
-
1.修改曲线数量
-
复制
y1_data、line1相关代码,新增y3_data、line3即可。 -
2.修改刷新速度
-
调整定时器时间:
-



五、运行效果
运行代码后,会弹出一个标准上位机窗口:
-
红色曲线:实时温度 -
蓝色曲线:实时压力 -
曲线自动滑动,数据持续更新,界面流畅无卡顿 -
自带网格、图例、标题,直接用于工业监控
六、适用场景
这套代码是通用上位机核心模块,可直接用于:
七、进阶扩展方向
-
增加串口通信模块,对接真实硬件 -
添加数据保存功能(Excel/CSV/ 数据库) -
增加报警阈值(超出范围变色 / 弹窗) -
多子图分开展示不同数据 -
添加开始 / 暂停 / 清零按钮
总结
-
这套 Python 实时绘图代码零门槛、直接运行,是上位机开发必备模板 -
核心是滑动窗口数据管理 + 轻量画布刷新,保证流畅性 -
只需替换模拟数据,就能快速对接真实硬件,完成商用级上位机开发
【最后福利】关注回复‘’888‘’得最新最细相关资料:↓↓↓

— 👇 技术交流/视频+课件源码/C#&上位机面试题库👇—
欢迎扫码添加,备注【888】

微信YDT2508
夜雨聆风