世界微头条丨Python 实操显示数据图表并固定时间长度
(资料图片仅供参考)
目录
1.非定长的时间轴2.定长时间轴 实时显示数据前言:
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 有问题)
s
偶然间看到:
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 显示数据图表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 1亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 2现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 3如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 4AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 5转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 6充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 7好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 8名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?
- 9亚马逊云科技成立量子网络中心致力解决量子计算领域的挑战
- 10京东绿色建材线上平台上线 新增用户70%来自下沉市场