怎么用显示数据图表并固定时间长度

湘潭网餐饮知识
407

湘潭网小编为大家带来以下内容:

这篇文章主要介绍了怎么用Python显示数据图表并固定时间长度的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Python显示数据图表并固定时间长度文章都会有所收获,下面我们一起来看看吧。

前言:

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

1.非定长的时间轴

代码示例:

# -*- coding: utf-8 -*- import matplotlib.pyplot as pltimport numpy as npimport timefrom math import * plt.ion() #开启interactive mode 成功的关键函数plt.figure(1)t = [0]t_now = 0m = [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 pltfrom collections import dequefrom 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 npimport matplotlib.pyplot as plt from IPython import displayimport mathimport timefig=plt.figure()ax=fig.add_subplot(1,1,1)ax.set_xlabel('Time')ax.set_ylabel('cos(t)')ax.set_title('') line = Noneplt.grid(True) #添加网格plt.ion()  #interactive mode onobsX = []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显示数据图表并固定时间长度”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注花开半夏行业资讯频道。

君子莲(www.junzilian.com)湖南省长沙、株洲、湘潭城市宣传信息网,提供房产,人才招聘,家居装饰,教育,论坛,旅游,特产,美食,天气,娱乐,企业等资讯。



最新餐饮知识

热门推荐

为你推荐