乐于分享
好东西不私藏

上位机数据曲线实时绘制,源码直接用

上位机数据曲线实时绘制,源码直接用

在工业自动化、设备监控、传感器数据采集场景中,上位机实时数据曲线是核心功能 —— 能直观展示温度、压力、电流、转速等物理量的动态变化,帮工程师快速判断设备状态。

⭐️本文相关《学习资料》在最下面,可直接得 ↓↓↓


今天给大家带来一套开箱即用、流畅不卡顿的 Python 实时绘图源码,基于 PyQt5+Matplotlib 打造,支持:
✅ 连续实时数据刷新
✅ 曲线流畅无闪烁
✅ 固定窗口滑动显示(工业标准样式)
✅ 多曲线同时绘制
✅ 上位机界面简洁美观
全程无复杂配置,复制代码直接运行,适合工控、物联网、嵌入式上位机开发学习!

⭐️本文相关《学习资料》在最下面,可直接得 ↓↓↓


一、核心技术选型(小白也能懂)

  1. PyQt5
    :搭建上位机图形界面,稳定适配 Windows/Linux
  2. Matplotlib
    :专业绘图库,支持高精度曲线渲染
  3. 定时器刷新
    :固定频率更新数据,保证曲线流畅性
  4. 数据队列管理
    :限制曲线长度,避免内存溢出、卡顿

二、完整源码(直接复制运行)

环境安装

先安装依赖库,复制命令到终端执行:

上位机实时绘图源码

三、核心知识点讲解(上位机开发必掌握)

1. 滑动曲线实现原理(工业标准)

  • np.roll(数组, -1)
    :把所有数据向左移动一位,最左边数据丢弃
  • 数组[-1] = 新数据
    :最新采集的数据添加到曲线末尾
  • 固定max_points点数,永远不会卡顿,这是工业上位机通用方案

2. 流畅无闪烁关键

很多新手实时绘图会疯狂卡顿闪烁,我们用了两个优化:

  1. 只更新曲线数据,不重新创建图表
  2. canvas.draw()轻量刷新,而非重建画布
3. 真实数据接入(替换模拟数据即可)
代码中这两行是模拟传感器数据

实际项目替换方案

  1. 串口数据:用pyserial读取串口缓冲区数据
  2. TCP/IP 网口:用socket接收设备上报数据
  3. 文件 / 数据库:实时读取日志 / 数据表

四、代码自定义修改(快速适配你的项目)

  1. 1.修改曲线数量

  2. 复制y1_dataline1相关代码,新增y3_dataline3即可。

  3. 2.修改刷新速度

  4. 调整定时器时间:

3.修改 Y 轴范围
根据你的传感器量程修改:
4.修改曲线颜色 / 样式

五、运行效果

运行代码后,会弹出一个标准上位机窗口:

  • 红色曲线:实时温度
  • 蓝色曲线:实时压力
  • 曲线自动滑动,数据持续更新,界面流畅无卡顿
  • 自带网格、图例、标题,直接用于工业监控

六、适用场景

这套代码是通用上位机核心模块,可直接用于:

✅ 温度监控系统
✅ 压力 / 液位采集上位机
✅ 电机转速监控
✅ 电池电压电流监测
✅ 物联网数据可视化平台

七、进阶扩展方向

  1. 增加串口通信模块,对接真实硬件
  2. 添加数据保存功能(Excel/CSV/ 数据库)
  3. 增加报警阈值(超出范围变色 / 弹窗)
  4. 多子图分开展示不同数据
  5. 添加开始 / 暂停 / 清零按钮

总结

  1. 这套 Python 实时绘图代码零门槛、直接运行,是上位机开发必备模板
  2. 核心是滑动窗口数据管理 + 轻量画布刷新,保证流畅性
  3. 只需替换模拟数据,就能快速对接真实硬件,完成商用级上位机开发

【最后福利】关注回复‘’888‘’得最新最细相关资料:↓↓↓

— 👇 技术交流/视频+课件源码/C#&上位机面试题库👇— 

欢迎扫码添加,备注【888】

微信YDT2508