matplotlib的學習16-animation動畫

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'])
相關文章
相關標籤/搜索