はじめに
matplotlibのFuncAnimationでpatches.CirclePolygonのresolutionを変化させたときの多角形の変化をアニメーションで表示する。
コード
解説
モジュールのインポート
バージョン
図の作成
subplot_kw={‘aspect’: ‘equal’}で縦横の比率の等しい図を作成できる。
アニメーション関数
空のリストarttistsを作成し、この中にCirclePolygonをax.add_artist(cp)として追加する。
arttistsの長さが1以上のとき、リスト内の要素を消去し、常に新しいCirclePolygonが表示されるようにする。
CirclePolygonはxy=(0,0)の位置に半径5の円のサイズで resolutionをnum+3のよう変化させて表示する。
ax.set_title(“resolution=”+str(num+3)+””)でタイトルにresolutionの値を表示する。
アニメーションの表示
FuncAnimationでアニメーションを表示する。frame数を28、intervalを200msとし、6秒くらいのアニメーションとする。 HTML(ani.to_html5_video())
により、jupyter notebook またはjupyter lab上にアニメーションを表示できる。
ani.save(‘ファイル名’, writer=”ffmpeg”,dpi=120)でアニメーションをMP4形式で保存することができる。
古いCirclePolygonを消さないで全て表示するアニメーション
ax.set_axisbelow(True)でgrid線を最下層に表示するようにできる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
matplotlib.patches.CirclePolygon — Matplotlib 3.9.3 documentation
コメント