Python如何隨資料更新實時畫圖?

時間 2021-06-09 01:25:21

1樓:xufive

matplotlib提供了animation模組實現動態更新資料,請看下面的例子。

>>>import

numpy

asnp

>>>import

matplotlib.pyplot

asplt

>>>from

matplotlib.animation

import

FuncAnimation

>>>fig,ax=

plt.

subplots

()>>>

xdata

,ydata=,

>>>ln,

=ax.plot(,,

'r-'

,animated

=False

)>>>

definit

():ax

.set_xlim(0

,2*np

.pi)ax

.set_ylim(-

1,1)

returnln,

>>>defupdate

(frame

):xdata.(

frame

)ydata.(

np.sin(

frame

))ln

.set_data

(xdata

,ydata

)returnln,

>>>ani=

FuncAnimation

(fig

,update

,frames=np

.linspace(0

,2*np

.pi,128

),init_func

=init

,blit

=True

)>>>

ani=

FuncAnimation

(fig

,update

,frames=np

.linspace(0

,2*np

.pi,128

),init_func

=init

,blit

=True

)>>>

plt.

show

()不過,想要實現複雜功能,最好的方式封裝到GUI中,使用執行緒更新資料。

2樓:

可以用matplotlib的FuncAnimationimport

matplotlib.pyplot

asplt

from

matplotlib.animation

import

FuncAnimation

import

pandas

aspd

defanimate(i

):# test_animation.csv這個表每1秒寫入乙個數字。

data=pd

.read_csv

("test_animation.csv"

,names=[

'val'

])idx

=data

.index

val=

data

['val'

]plt

.cla

()plt

.plot

(idx

,val

,marker

='o'

)ani

=FuncAnimation

(plt

.gcf

(),animate

,interval=2

)plt

.show()

Python 實時資料畫圖,橫軸顯示時間(分鐘),縱軸顯示隨時間變化的另乙個量,怎樣做?

chaowei wu 可以考慮繫結乙個時間相關的事件。如下指令碼可以顯示cpu的實時使用率。import psutil as p import matplotlib.pyplot as plt import matplotlib.font manager as font manager POINTS...

關於傅利葉變換,如何分段且實時地獲取資料的頻率特性?

先加窗,取一定比例的overlap,去直流分量,計算zero crossing count。單位時間內穿越橫軸次數越多,頻率越高。 張lw 這個問題最簡單的方式即採用時頻分析的方法,常見的時頻分析方法具有 短時傅利葉變換 小波法 HHT等手段。你可以根據你的資料選擇對應的時頻分析手段。 Niqi L...

基於hive的資料倉儲如何處理資料更新(update)問題?

tharvest 肯定不能使用hive更新,所謂的更新也是用增量資料merge歷史資料後儲存而替換歷史資料。如果對實效性要求不高,比如T 1,一般是按天分割槽,按天分割槽實際上已經儲存了一條記錄按天的變化維。按天同步資料存在乙個缺點,就是業務資料庫的一條記錄在一天內更新多次,只能取到資料同步時該記錄...