一、函數FuncAnimation(fig,func,frames,init_func,interval,blit)是繪製動圖的主要函數,其參數以下:數組
a.fig
繪製動圖的畫布名稱app
b.func自定義動畫函數,即下邊程序定義的函數update
函數
c.frames動畫長度,一次循環包含的幀數,在函數運行時,其值會傳遞給函數update(n)的形參「n」動畫
d.init_func自定義開始幀,即傳入剛定義的函數init,初始化函數
spa
e.interval更新頻率,以ms計.net
f.blit選擇更新全部點,仍是僅更新產生變化的點。應選擇True
,但mac用戶請選擇False
,不然沒法顯code
import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation fig, ax = plt.subplots() #生成子圖,至關於fig = plt.figure(),ax = fig.add_subplot(),其中ax的函數參數表示把當前畫布進行分割,例:fig.add_subplot(2,2,2).表示將畫布分割爲兩行兩列
#ax在第2個子圖中繪製,其中行優先, xdata, ydata = [], [] #初始化兩個數組 ln, = ax.plot([], [], 'r-', animated=False) #第三個參數表示畫曲線的顏色和線型,具體參見:https://blog.csdn.net/tengqingyong/article/details/78829596 def init(): ax.set_xlim(0, 2*np.pi) #設置x軸的範圍pi表明3.14...圓周率, ax.set_ylim(-1, 1) #設置y軸的範圍 return ln, #返回曲線 def update(n): xdata.append(n) #將每次傳過來的n追加到xdata中 ydata.append(np.sin(n)) ln.set_data(xdata, ydata) #從新設置曲線的值 return ln, ani = FuncAnimation(fig, update, frames=np.linspace(0, 2*np.pi, 10), #這裏的frames在調用update函數是會將frames做爲實參傳遞給「n」 init_func=init, blit=True) plt.show()
PS:通常來講一個動圖有兩類函數,一類是初始化函數,另外一類是須要更新的函數!!blog
動圖繪製的路線animation