Python 实操显示数据图表并固定时间长度

 更新时间:2022年08月19日 16:07:44   作者:又是花落时  
这篇文章主要介绍了Python 实操显示数据图表并固定时间长度,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下

前言:

python利用matplotlib库中的plt.ion()函数实现即时数据动态显示:

1.非定长的时间轴

代码示例:

# -*- coding: utf-8 -*-
 
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(100):
    plt.clf() #清空画布上的所有内容
    t_now = i*0.3
    t.append(t_now)#模拟数据增量流入,保存历史数据
    m.append(sin(t_now))#模拟数据增量流入,保存历史数据
    plt.plot(t,m,'-r')
    plt.draw()#注意此函数需要调用
    plt.pause(0.1)

此时间轴在不断变长。 

2.定长时间轴 实时显示数据

使用队列  deque,保持数据是定长的,就可以显示固定长度时间轴的动态显示图,

代码示例:

import matplotlib.pyplot as plt
from collections import deque
from math import *
plt.ion()#启动实时
pData = deque(maxlen=30)
for i in range(30):
    pData.append(0)
fig = plt.figure()
t = deque(maxlen=30)
for i in range(30):
 
    t.append(0)
plt.title('Real-time Potentiometer reading')
(l1,)= plt.plot(pData)
plt.ylim([0, 1])
for i in range(2000):
        plt.pause(0.1)#暂停的时间
        t.append(i)
        pData.append(sin(i*0.3))
        print(pData)
        plt.plot(t,pData,'-r') 
 
        plt.draw()  

Spyder  运行结果(貌似在pycharm 有问题)

偶然间看到:

import numpy as np
import matplotlib.pyplot as plt
 
from IPython import display
import math
import time

fig=plt.figure()
ax=fig.add_subplot(1,1,1)
ax.set_xlabel('Time')
ax.set_ylabel('cos(t)')
ax.set_title('')
 
line = None
plt.grid(True) #添加网格
plt.ion()  #interactive mode on
obsX = []
obsY = []
 
t0 = time.time()
while True:
    t = time.time()-t0
    obsX.append(t)
    obsY.append(math.cos(2*math.pi*1*t))
 
    if line is None:
        line = ax.plot(obsX,obsY,'-g',marker='*')[0]
 
    line.set_xdata(obsX)
    line.set_ydata(obsY)
 
    ax.set_xlim([t-10,t+1])
    ax.set_ylim([-1,1])
    plt.pause(0.01)

到此这篇关于Python 实操显示数据图表并固定时间长度的文章就介绍到这了,更多相关Python 显示数据图表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 从零学Python之入门(五)缩进和选择

    从零学Python之入门(五)缩进和选择

    空白在Python中是重要的。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
    2014-05-05
  • python3 图片referer防盗链的实现方法

    python3 图片referer防盗链的实现方法

    本篇文章主要介绍了python3 图片referer防盗链的实现方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • Python实现删除windows下的长路径文件

    Python实现删除windows下的长路径文件

    这篇文章主要为大家详细介绍一下如何利用Python语言实现删除windows下的长路径文件功能,文中的示例代码讲解详细,具有一定参考借鉴价值,感兴趣的可以了解一下
    2022-07-07
  • Django ForeignKey与数据库的FOREIGN KEY约束详解

    Django ForeignKey与数据库的FOREIGN KEY约束详解

    这篇文章主要介绍了Django ForeignKey与数据库的FOREIGN KEY约束详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-05-05
  • 教你怎么用python删除相似度高的图片

    教你怎么用python删除相似度高的图片

    这篇文章主要介绍了教你怎么用python删除相似度高的图片,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Python爬虫之自动爬取某车之家各车销售数据

    Python爬虫之自动爬取某车之家各车销售数据

    应朋友要求,帮忙采集某车之家的一些汽车品牌的销售数据,包含购车时间、车型、经销商、裸车价等一类信息. 今天我们就简单演示一下采集过程,大家可以根据自己的兴趣进行拓展.比如采集自己喜欢的品牌汽车数据进行统计分析等等,需要的朋友可以参考下
    2021-06-06
  • Python实现PIL图像处理库绘制国际象棋棋盘

    Python实现PIL图像处理库绘制国际象棋棋盘

    本文主要介绍了Python实现PIL图像处理库绘制国际象棋棋盘,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2021-07-07
  • Python中的 enum 模块源码详析

    Python中的 enum 模块源码详析

    这篇文章主要给大家介绍了关于Python中 enum 模块的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用python具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • python中找出numpy array数组的最值及其索引方法

    python中找出numpy array数组的最值及其索引方法

    下面小编就为大家分享一篇python中找出numpy array数组的最值及其索引方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • python实现dijkstra最短路由算法

    python实现dijkstra最短路由算法

    这篇文章主要为大家详细介绍了python实现dijkstra最短路由算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-01-01

最新评论