您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么用Python顯示數(shù)據(jù)圖表并固定時間長度的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Python顯示數(shù)據(jù)圖表并固定時間長度文章都會有所收獲,下面我們一起來看看吧。
前言:
python利用matplotlib庫中的plt.ion()
函數(shù)實現(xiàn)即時數(shù)據(jù)動態(tài)顯示:
代碼示例:
# -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import time from math import * plt.ion() #開啟interactive mode 成功的關(guān)鍵函數(shù) plt.figure(1) t = [0] t_now = 0 m = [sin(t_now)] for i in range(100): plt.clf() #清空畫布上的所有內(nèi)容 t_now = i*0.3 t.append(t_now)#模擬數(shù)據(jù)增量流入,保存歷史數(shù)據(jù) m.append(sin(t_now))#模擬數(shù)據(jù)增量流入,保存歷史數(shù)據(jù) plt.plot(t,m,'-r') plt.draw()#注意此函數(shù)需要調(diào)用 plt.pause(0.1)
此時間軸在不斷變長。
使用隊列 deque,保持?jǐn)?shù)據(jù)是定長的,就可以顯示固定長度時間軸的動態(tài)顯示圖,
代碼示例:
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 運行結(jié)果(貌似在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) #添加網(wǎng)格 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)
關(guān)于“怎么用Python顯示數(shù)據(jù)圖表并固定時間長度”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Python顯示數(shù)據(jù)圖表并固定時間長度”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。