python中plot实现即时数据动态显示方法


Posted in Python onJune 22, 2018

在Matlab使用Plot函数实现数据动态显示方法总结中介绍了两种实现即时数据动态显示的方法。考虑到使用python的人群日益增多,再加上本人最近想使用python动态显示即时的数据,网上方法很少,固总结于此。

示例代码1

import matplotlib.pyplot as plt
import numpy as np
import time
from math import *

plt.ion() #开启interactive mode 成功的关键函数
plt.figure(1)
t = [0]
t_now = 0
m = [sin(t_now)]

for i in range(2000):
 t_now = i*0.1
 t.append(t_now)#模拟数据增量流入
 m.append(sin(t_now))#模拟数据增量流入
 plt.plot(t,m,'-r')
 plt.draw()#注意此函数需要调用
 time.sleep(0.01)

python中plot实现即时数据动态显示方法

示例代码2

上面的方式,可以在跳出的画图面板内动态显示,但是如果想在jupyter notebook中直接动态显示,上面的方法将无效。因此,补上在jupyter notebook中可行的动态显示示例程序。以供举一反三之用。
这里写代码片

import math
import random
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
%matplotlib inline

# set up matplotlib
is_ipython = 'inline' in matplotlib.get_backend()
if is_ipython:
 from IPython import display

plt.ion()

def plot_durations(y):
 plt.figure(2)
 plt.clf()
 plt.subplot(211)
 plt.plot(y[:,0])
 plt.subplot(212)
 plt.plot(y[:,1])

 plt.pause(0.001) # pause a bit so that plots are updated
 if is_ipython:
  display.clear_output(wait=True)
  display.display(plt.gcf())


x = np.linspace(-10,10,500)
y = []
for i in range(len(x)):
 y1 = np.cos(i/(3*3.14))
 y2 = np.sin(i/(3*3.14))
 y.append(np.array([y1,y2]))
 plot_durations(np.array(y))

python中plot实现即时数据动态显示方法

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
实例讲解Python中global语句下全局变量的值的修改
Jun 16 Python
Python实现针对中文排序的方法
May 09 Python
恢复百度云盘本地误删的文件脚本(简单方法)
Oct 21 Python
浅谈Python处理PDF的方法
Nov 10 Python
Python测试人员需要掌握的知识
Feb 08 Python
PyTorch预训练的实现
Sep 18 Python
Python 中的 import 机制之实现远程导入模块
Oct 29 Python
linux 下python多线程递归复制文件夹及文件夹中的文件
Jan 02 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
Python可以用来做什么
Nov 23 Python
浅析Python OpenCV三种滤镜效果
Apr 11 Python
Python+selenium 获取一组元素属性值的实例
Jun 22 #Python
python selenium 获取标签的属性值、内容、状态方法
Jun 22 #Python
python+selenium打印当前页面的titl和url方法
Jun 22 #Python
Python基于多线程实现抓取数据存入数据库的方法
Jun 22 #Python
python实现比较文件内容异同
Jun 22 #Python
python实现输入数字的连续加减方法
Jun 22 #Python
Python之用户输入的实例
Jun 22 #Python
You might like
ThinkPHP令牌验证实例
2014/06/18 PHP
php基于base64解码图片与加密图片还原实例
2014/11/03 PHP
php使用curl通过代理获取数据的实现方法
2016/05/16 PHP
PHP那些琐碎的知识点(整理)
2017/05/20 PHP
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
js函数调用的方式
2014/05/06 Javascript
浅谈javascript原型链与继承
2015/07/13 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
node中的cookie的具体使用
2018/09/13 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
Vue中函数防抖节流的理解及应用实现
2020/04/24 Javascript
JavaScript缺少insertAfter解决方案
2020/07/03 Javascript
wxPython学习之主框架实例
2014/09/28 Python
详解Swift中属性的声明与作用
2016/06/30 Python
利用Celery实现Django博客PV统计功能详解
2017/05/08 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
基于python log取对数详解
2018/06/08 Python
对python添加模块路径的三种方法总结
2018/10/16 Python
Django web框架使用url path name详解
2019/04/29 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Python画图实现同一结点多个柱状图的示例
2019/07/07 Python
服务器端jupyter notebook映射到本地浏览器的操作
2020/04/14 Python
python实现在线翻译
2020/06/18 Python
CSS3实现超酷的黑猫警长首页
2016/04/26 HTML / CSS
介绍一下MYSQL常用的优化技巧
2012/10/25 面试题
电子工程求职信
2014/07/17 职场文书
2014会计年终工作总结
2014/12/20 职场文书
高中社区服务活动报告
2015/02/05 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
2016幼儿园教师年度考核评语
2015/12/01 职场文书
mysql 获取时间方式
2022/03/20 MySQL
【DOTA2】半决赛强强对话~ PSG LGD vs EHOME - DPC 2022 CN REGIONAL FINALS WINTER
2022/04/02 DOTA