现在有个项目需要实时显示温度,可以直接用pyqtgraph实现,但是界面和曲线的调整实在不会,用了一段时间后放弃了。关于pyqtgraph实时绘图的代码和效果图如下。

import time
import temp_calcu_3_onestep
import calib_drift_2_onestep
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
import temp_calcu_2
win = pg.GraphicsLayoutWidget(show=True)
win.setWindowTitle('点位温度折线图')
p2 = win.addPlot()
data1 = np.empty(50)
data2 = np.empty(50)
data3 = np.empty(50)
data4 = np.empty(50)
curve2 = p2.plot(data1,)
curve3 = p2.plot(data2)
curve4 = p2.plot(data3, pen=(0,255,0))
curve5 = p2.plot(data4, pen=(255,0,0))# list_temp = temp_calcu_3_onestep.CH1_temp()ptr1 = 0
def update1():global data1, data2, ptr1,data3list_wave = calib_drift_2_onestep.after_wave()data1[:-1] = data1[1:]  # shift data in the array one sample leftdata2[:-1] = data2[1:]data3[:-1] = data3[1:]data4[:-1] = data4[1:]data1[-1] = temp_calcu_3_onestep.CH1_temp(list_wave)[0]         #规定数据来源data2[-1] = temp_calcu_3_onestep.CH1_temp(list_wave)[1]data3[-1] = temp_calcu_3_onestep.CH1_temp(list_wave)[2]         #不同通道的温度data4[-1] = temp_calcu_3_onestep.CH1_temp(list_wave)[3]ptr1 += 1curve2.setData(data1)curve2.setPos(ptr1, 0)curve3.setData(data2)curve3.setPos(ptr1, 0)curve4.setData(data3)curve4.setPos(ptr1, 0)curve5.setData(data4)curve5.setPos(ptr1, 0)
# 3) Plot in chunks, adding one new plot curve for every 100 samples
chunkSize = 100
# Remove chunks after we have 10
maxChunks = 10
startTime = pg.ptime.time()
win.nextRow()
curves = []
def update():update1()
timer = pg.QtCore.QTimer()
timer.timeout.connect(update)
timer.start(50)
if __name__ == '__main__':pg.exec()

然后试了下matplotlib,横坐标不能自动变化,这个我还在继续。代码和效果图如下所示。

from matplotlib import pyplot as plt
from matplotlib.animation import FuncAnimation
import matplotlib.animation as animation
import datetime as dt
import calib_drift_2_onestep
import temp_calcu_3_onestep
plt.style.use('seaborn-pastel')
fig = plt.figure()
ax = fig.add_subplot(1,1,1)
xs = []
ys = []def animate(i, xs, ys):list_wave = calib_drift_2_onestep.after_wave()xs.append(dt.datetime.now().strftime('%H:%M:%S'))ys.append(temp_calcu_3_onestep.CH1_temp(list_wave)[0])xs = xs[-20:]ys = ys[-20:]ax.clear()ax.plot(xs,ys)plt.xticks(rotation=45, ha='right')plt.subplots_adjust(bottom=0.30)plt.title('wendu')plt.ylabel('dangqianwendu')ani = animation.FuncAnimation(fig, animate, fargs=(xs, ys), interval=1000)
plt.show()

python matplotlib实现动态实时温度曲线相关推荐

  1. Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部)

    Python matplotlib可视化:用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的外侧顶部) 目录

  2. Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)、水平条形图(horizontal bar)

    Python matplotlib可视化:在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等).水平条形图(horizontal bar) 目录

  3. Python matplotlib可视化:自定义轴标签格式化函数(在轴刻度上添加自定义的数值以及符号形式)、使用自定义函数在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等)

    Python matplotlib可视化:自定义轴标签格式化函数(在轴刻度上添加自定义的数值以及符号形式).使用自定义函数在Matplotlib中为坐标轴刻度添加自定义符号(例如,货币符号¥$等) 目 ...

  4. Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签、用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部)

    Python matplotlib可视化:用Matplotlib的bar_label函数自定义条形图的数值标签.用Matplotlib的bar_label函数为条形图添加数值标记(在每一个条形的中部) ...

  5. python matplotlib 简单用法

    python matplotlib 简单用法 具体内容请参考官网 代码 import matplotlib.pyplot as plt import numpy as np # 支持中文 plt.rc ...

  6. 老咸鱼今天告诉你用Python matplotlib 各种图绘制流线图,难怪老板放纵他

    复习回顾 在Python关于绘图,Mlab提供开源的matplotlib模块,不仅可以绘制折线图.柱状图.散点图等常规图外,还支持绘制量场图.频谱图.提琴图.箱型图等特殊图,例举往期文章可前往查看详情 ...

  7. Python matplotlib 绘制量场图

    复习回顾 matplotlib 是基于Python语言的开源项目,pyplot提供一系列绘制2D图形的方法.随着版本的迭代,matplotlib 模块也支持绘制3D图形mplot3d工具包,制作动态图 ...

  8. 不愧是摸鱼高手Python matplotlib 绘制频谱图都会,能怪老板不管

    复习回顾 matplotlib 是Python专门用来绘制渲染的模块,其底层主要分为脚本层.美工层和后端.脚本层为我们提供常见图形绘制如折线.柱状.直方.饼图.以往文章 这么详细的Python mat ...

  9. 超详细的Python matplotlib 绘制动态图

    复习回顾 在matplotlib模块中我们前面学习绘制如折线.柱状.散点.直方图等静态图形.我们都知道在matplotlib模块主要有三层脚本层为用户提供快捷的绘制图形方法,美工层接收到脚本层的命令后 ...

  10. Python matplotlib 绘制散点图 还不收藏起来

    复习回顾 我们在往前几期中对matplotlib模块学习,对常用的反映数据变化的折线图,对比数据类型差异的柱状图和反应数据频率分布情况的直方图. 往前内容快速查看 超详细的Python matplot ...

最新文章

  1. dr优先级默认_当配置一个CISCO的路由器时,缺省的DR和BDR优先级是()。
  2. 基于TI TMS320C6678 + Xilinx Kintex-7 的高性能信号处理方案
  3. 虚拟话安全:4个基本点
  4. 图解CSS的padding,margin,border属性
  5. json2jsoncpp 关键代码分析1
  6. storage.googleapis.com 访问与下载慢
  7. 楼梯计算机公式,各种楼梯面积的计算公式汇总
  8. 如何在后台配置中找到某个具体配置的事务码
  9. Attribute和Property的区别
  10. 计算机python指什么_python之浅谈计算机基础
  11. 数学分析-1.2数列和收敛数列-例题1、2、3
  12. 如何将手机哔哩哔哩缓存的m4s格式的视频转换成mp4呢?
  13. Opengl 之 窗口初体验 ------ By YDD的铁皮锅
  14. 呼吸运动减肥法-可以加快新陈代谢
  15. #6.3四维理论的数学模式
  16. 对往届软件工程的思考——写在软件工程开课之际 by 姜健
  17. 【图文并茂】一文讲透Dubbo负载均衡之最小活跃数算法
  18. Eclipse 开发Hadoop2.7.1可能会遇到的问题
  19. JS判断当前页面是否在微信内打开
  20. c语言strstr的使用及模拟实现strstr函数

热门文章

  1. 并发请求:统计数据收集模式
  2. 判断年份是闰年还是平年
  3. 帝国CMS Table '***.phome_ecms_news_data_' doesn't exist
  4. wpf界面菜单栏设计
  5. html设置文字超过字数_CSS限制字数,超出部份显示点点点...
  6. 【OpenVP* 】Centos 部署OpenVP* 证书+多客户端+密码认证
  7. icloud无法验证服务器,iPhone提示“验证失败 连接到icloud时出错”怎么解决?
  8. 2022年手机CPU性能天梯图排行榜 手机处理器排行榜 2022
  9. 移动端h5 下拉框 demo (原生的也太丑了把)
  10. Python简单实现人脸识别检测, 对某平台美女主播照片进行评分排名