matplotlib的學習16-animation動畫
阿新 • • 發佈:2018-09-04
-a lib xtra ffmpeg fps nco 進行 data line
from matplotlib import pyplot as plt from matplotlib import animation import numpy as np fig, ax = plt.subplots() x = np.arange(0, 2*np.pi, 0.01) line, = ax.plot(x, np.sin(x)) # 接著,構造自定義動畫函數animate,用來更新每一幀上各個x對應的y坐標值,參數表示第i幀: def animate(i): line.set_ydata(np.sin(x + i/10.0)) return line, # 然後,構造開始幀函數init: def init(): line.set_ydata(np.sin(x)) return line, #調參數 # 接下來,我們調用FuncAnimation函數生成動畫。參數說明: # # fig 進行動畫繪制的figure # func 自定義動畫函數,即傳入剛定義的函數animate # frames 動畫長度,一次循環包含的幀數 # init_func 自定義開始幀,即傳入剛定義的函數init # interval 更新頻率,以ms計 # blit 選擇更新所有點,還是僅更新產生變化的點。應選擇True,但mac用戶請選擇False,否則無法顯示動畫 ani = animation.FuncAnimation(fig=fig, func=animate, frames=100, init_func=init, interval=20, blit=False) plt.show() # 當然,你也可以將動畫以mp4格式保存下來,但首先要保證你已經安裝了ffmpeg 或者mencoder, 更多信息參考matplotlib animation api: # # ani.save(‘basic_animation.mp4‘, fps=30, extra_args=[‘-vcodec‘, ‘libx264‘])
matplotlib的學習16-animation動畫