[matplotlib animation] 85.様々な形状と色をもつ楕円をランダムに表示

matplotlib

はじめに

このブログ記事では、matplotlibのFuncAnimationとmatplotlib.patches.Ellipseを使用して、様々な形状と色をもつ楕円をランダムに表示するアニメーションの作成方法について解説します。

コード

解説

モジュールのインポート

バージョン

楕円の生成

Ellipseのxyパラメータで表示位置を設定し、widthで幅、heightで高さ、angleで角度を指定します。リスト内包表記を使用してnumの数だけ楕円を生成します。

アニメーションの表示

透明度はset_alphaで、色はset_facecolorで設定できます。set_clip_on(False)を使用すると、楕円が軸範囲からはみ出しても全て表示されます。FuncAnimationでアニメーションを表示する際、frame数を250、intervalを30msに設定すると、約7.5秒のアニメーションになります。HTML(ani.to_html5_video())を実行することで、Jupyter NotebookやJupyter Lab上に直接アニメーションを表示できます。アニメーションを保存するには、ani.save('ファイル名', writer="ffmpeg", dpi=100)を使用してMP4形式で出力できます。

コードをダウンロード(.pyファイル)

コードをダウンロード(.ipynbファイル)

まとめ

matplotlibのアニメーション機能と図形描画の組み合わせにより、簡単にダイナミックな視覚表現を作成できることがわかりました。このテクニックは、単純な図形から複雑なデータ可視化まで、様々な場面で応用可能です。

参考

Ellipse Demo — Matplotlib 3.2.2 documentation

コメント