利用matplotlib实现根据实时数据动态更新图形

 更新时间:2019年12月13日 09:37:47   作者:cakincqm  
今天小编就为大家分享一篇利用matplotlib实现根据实时数据动态更新图形,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

我就废话不多说了,直接上代码吧!

from time import sleep
from threading importThread
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets importButton
fig, ax = plt.subplots()
#设置图形显示位置
plt.subplots_adjust(bottom=0.2)
#实验数据
range_start, range_end, range_step =0,1,0.005
t = np.arange(range_start, range_end, range_step)
s = np.sin(4*np.pi*t)
l,= plt.plot(t, s, lw=2)
#自定义类,用来封装两个按钮的单击事件处理函数
classButtonHandler:
def __init__(self):
self.flag =True
self.range_s, self.range_e, self.range_step =0,1,0.005
#线程函数,用来更新数据并重新绘制图形
def threadStart(self):
while self.flag:
sleep(0.02)
self.range_s += self.range_step
self.range_e += self.range_step
t = np.arange(self.range_s, self.range_e, self.range_step)
ydata = np.sin(4*np.pi*t)
#更新数据
l.set_xdata(t-t[0])
l.set_ydata(ydata)
#重新绘制图形
plt.draw()
defStart(self, event):
self.flag =True
#创建并启动新线程
t =Thread(target=self.threadStart)
t.start()
defStop(self, event):
self.flag =False
callback =ButtonHandler()
#创建按钮并设置单击事件处理函数
axprev = plt.axes([0.81,0.05,0.1,0.075])
bprev =Button(axprev,'Stop')
bprev.on_clicked(callback.Stop)
axnext = plt.axes([0.7,0.05,0.1,0.075])
bnext =Button(axnext,'Start')
bnext.on_clicked(callback.Start)
plt.show()

二 运行结果

以上这篇利用matplotlib实现根据实时数据动态更新图形就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 深入讲解Java编程中类的生命周期

    深入讲解Java编程中类的生命周期

    这篇文章主要介绍了深入讲解Java编程中类的生命周期,在带有垃圾回收功能的Java虚拟机上运行的程序中类的生命周期就显得格外重要,需要的朋友可以参考下
    2016-02-02
  • Python3匿名函数lambda介绍与使用示例

    Python3匿名函数lambda介绍与使用示例

    这篇文章主要给大家介绍了关于Python3匿名函数lambda与使用的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Python3具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 对python cv2批量灰度图片并保存的实例讲解

    对python cv2批量灰度图片并保存的实例讲解

    今天小编就为大家分享一篇对python cv2批量灰度图片并保存的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • Python之——生成动态路由轨迹图的实例

    Python之——生成动态路由轨迹图的实例

    今天小编就为大家分享一篇Python之——生成动态路由轨迹图的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • python安装Scrapy图文教程

    python安装Scrapy图文教程

    下面小编就为大家带来一篇python安装Scrapy图文教程。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • 基于Flask实现的Windows事件ID查询系统

    基于Flask实现的Windows事件ID查询系统

    Windows操作系统的事件日志系统记录了数百种不同的事件ID,每个ID对应特定的系统事件,本文介绍如何构建一个基于Web的事件ID查询系统,文章通过代码示例介绍的非常详细,需要的朋友可以参考下
    2025-04-04
  • python 获取等间隔的数组实例

    python 获取等间隔的数组实例

    今天小编就为大家分享一篇python 获取等间隔的数组实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • Pygame如何使用精灵和碰撞检测

    Pygame如何使用精灵和碰撞检测

    本文主要介绍了Pygame如何使用精灵和碰撞检测,它们能够帮助我们跟踪屏幕上移动的大量图像。我们还会了解如何检测两个图像相互重叠或者碰撞的方法。
    2021-11-11
  • python网络编程学习笔记(二):socket建立网络客户端

    python网络编程学习笔记(二):socket建立网络客户端

    看了这一节,突然之间对python网络编程学习笔记(1)中的一些不理解的问题有了认识,至少明白了socket是怎么回事。这里关于socket的起源等问题就不做笔记记录了,直接进入主题
    2014-06-06
  • python用正则表达式提取/匹配中文汉字

    python用正则表达式提取/匹配中文汉字

    在使用Python的过程中,由于需求原因,我们经常需要在文本或者网页元素中用Python正则表达式匹配中文,下面这篇文章主要给大家介绍了关于python用正则表达式提取/匹配中文汉字的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论