欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

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

时间:2021-02-07 14:46:55|栏目:Python代码|点击:

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)

示例代码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程序慢的重要原因

栏    目:Python代码

下一篇:WINDOWS 同时安装 python2 python3 后 pip 错误的解决方法

本文标题:python中plot实现即时数据动态显示方法

本文地址:http://www.codeinn.net/misctech/58390.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有