はじめに
matplotlib FuncAnimationにより、サインポールのアニメーションを作成する。
コード
解説
モジュールのインポート
グラフの設定
図の大きさはfigsize(3,6)で、縦に長い形にしている。
サインポールの作成
サインポールはmatplotlib.patches.polygonで作成。
最初に、図形を表示する位置をリスト内のタプル[(#,#)]で設定。この座標を結ぶ形状が作成される。
patches.Polygon(xy = posi_ao1,color=’blue’)などで図形を作成する。
作成した図形は、ax.add_patch(ao1)などで、figに反映させる。
アニメーションの設定
アニメーション表示するための変数の設定
アニメーションとしては、上方向に移動するのみ。
アニメーションの初期設定
initはanimationの開始時に実行されるもので、グラフの初期設定をしている。
set_xticklabelsとset_xticksで軸ラベルと軸メモリを消している。
returnにアニメーションで動かしたいものを記述する。
アニメーションの設定
各図形の位置に+yして上に移動させる。各図形の位置をset_xy
を使って更新する。
returnにアニメーションで動かしたいものを記述する。
アニメーションの表示
intervalはアニメーションの各画像が切り替わる間隔の設定で単位はms、
framesはupdate関数を実行される回数で、interval*frames=5000[ms]なので、5秒のアニメーションとなる。
HTML(ani.to_html5_video())とすればjupyter notebook上にアニメーションを表示できる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
https://matplotlib.org/api/_as_gen/matplotlib.patches.Polygon.html
コメント