您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么用Python顯示數據圖表并固定時間長度的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Python顯示數據圖表并固定時間長度文章都會有所收獲,下面我們一起來看看吧。
前言:
python利用matplotlib庫中的plt.ion()
函數實現即時數據動態顯示:
代碼示例:
# -*- 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)
此時間軸在不斷變長。
使用隊列 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顯示數據圖表并固定時間長度”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。