はじめに
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
コメント