[matplotlib animation] 69. カウントダウンアニメーション

matplotlib Animation

はじめに

matplotlibのFuncAnimationを使ってテキストによるカウントダウンアニメーションを表示する方法について解説した記事です。Pythonでアニメーション効果を実装する際の基本的な手順やコードが示されています。

コード

解説

モジュールのインポート

plt.rcParams['font.family'] = 'sans-serif'とすることでみやすいフォントにします。

figの作成

ax.axis('off')により、軸を非表示にします。

数字の作成と表示

repeat(10)を使用すると、要素が10回繰り返された配列を取得できます。.astype(int).astype(str)で、まず整数に変換してから文字列に変換します。

回転のためのデータ生成

np.tileを使用すると、配列全体の要素を繰り返した新しい配列を生成できます。これはnp.repeatの機能とは異なります。

色データの生成

ランダムなRGBデータをnp.random.randで生成し、np.repeatを使って配列を繰り返します。axis=0パラメータにより、データの形状を保ちながら要素数を増やすことができます。

アニメーションの設定

set_textでテキストを変更し、
set_colorでテキストの色を変更し、
set_rotationでテキストの角度を変更します。

アニメーションの表示

HTML(ani.to_html5_video())を使用することで、Jupyter NotebookやJupyter Lab上にアニメーションを簡単に表示できます。

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

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

まとめ

matplotlibのFuncAnimationを活用することで、簡単にカウントダウンのようなテキストアニメーションを実装できます。基本的なアニメーションの仕組みを理解することで、より複雑な動的表現も可能になります。

参考

matplotlib.pyplot.text — Matplotlib 3.1.2 documentation
matplotlib.text — Matplotlib 3.1.2 documentation
matplotlib.animation.FuncAnimation — Matplotlib 3.10.6 documentation

コメント