使用matplotlib做動畫也是可以的,我們使用其中一種方式雪营,function animation來說說, 具體可參考matplotlib animation api
Demo.py
from matplotlib import pyplot as plt
from matplotlib import animation
import numpy as np
fig, ax = plt.subplots()
#我們的數(shù)據(jù)是一個0~2π內(nèi)的正弦曲線
x = np.arange(0, 2*np.pi, 0.01)
line, = ax.plot(x, np.sin(x))
#接著按咒,構(gòu)造自定義動畫函數(shù)animate瞒窒,用來更新每一幀上各個x對應(yīng)的y坐標(biāo)值,參數(shù)表示第i幀
def animate(i):
line.set_ydata(np.sin(x + i/10.0))
return line,
#然后恋技,構(gòu)造開始幀函數(shù)init
def init():
line.set_ydata(np.sin(x))
return line,
#接下來拇舀,我們調(diào)用FuncAnimation函數(shù)生成動畫。參數(shù)說明:
#fig 進行動畫繪制的figure
#func 自定義動畫函數(shù)蜻底,即傳入剛定義的函數(shù)animate
#frames 動畫長度骄崩,一次循環(huán)包含的幀數(shù)
#init_func 自定義開始幀,即傳入剛定義的函數(shù)init
#interval 更新頻率薄辅,以ms計
#blit 選擇更新所有點要拂,還是僅更新產(chǎn)生變化的點。應(yīng)選擇True站楚,但mac用戶請選擇False脱惰,否則無法顯示動畫
ani = animation.FuncAnimation(fig=fig,
func=animate,
frames=100,
init_func=init,
interval=20,
blit=False)
plt.show()
#當(dāng)然,你也可以將動畫以mp4格式保存下來窿春,但首先要保證你已經(jīng)安裝了ffmpeg 或者mencoder
ani.save('basic_animation.mp4', fps=30, extra_args=['-vcodec', 'libx264'])
結(jié)果:
Paste_Image.png