溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么用Python顯示數(shù)據(jù)圖表并固定時間長度

發(fā)布時間:2022-08-25 11:42:32 來源:億速云 閱讀:160 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹了怎么用Python顯示數(shù)據(jù)圖表并固定時間長度的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Python顯示數(shù)據(jù)圖表并固定時間長度文章都會有所收獲,下面我們一起來看看吧。

前言:

python利用matplotlib庫中的plt.ion()函數(shù)實現(xiàn)即時數(shù)據(jù)動態(tài)顯示:

1.非定長的時間軸

代碼示例:

# -*- 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)

怎么用Python顯示數(shù)據(jù)圖表并固定時間長度

此時間軸在不斷變長。 

2.定長時間軸 實時顯示數(shù)據(jù)

使用隊列  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 有問題)

怎么用Python顯示數(shù)據(jù)圖表并固定時間長度

偶然間看到:

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)

怎么用Python顯示數(shù)據(jù)圖表并固定時間長度

關(guān)于“怎么用Python顯示數(shù)據(jù)圖表并固定時間長度”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Python顯示數(shù)據(jù)圖表并固定時間長度”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(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)容。

AI