Matplotlibでテキストをアニメーション化する方法をわかりやすく解説
Pythonの可視化ライブラリ「Matplotlib」では、animationモジュールを使うことで、グラフ上のテキストに簡単なアニメーション効果を加えることができます。本記事では、文字のサイズと色が変化していくテキストアニメーションの作成方法を、具体的なコード例とともに紹介します。
テキストアニメーションを作成する手順
Matplotlibでテキストをアニメーション化するには、以下の手順に従います。
- Matplotlibから「animation」パッケージをインポートします。
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 新しい図を作成、または既存の図をアクティブにします。
- サブプロット配置の一部として、図に「ax」を追加します。
- 表示したい文字列を保持する変数「text」を初期化します。
- x=0.20、y=0.50 の位置にテキストを追加します。
- 使用する色のリストを作成します。
- 関数 animate を繰り返し呼び出すことでアニメーションを生成し、テキストのサイズを徐々に大きくしながら色を切り替えます。
- 図を表示するには、show() メソッドを使用します。
サンプルコード
以下は、「You are welcome!」というテキストのフォントサイズをフレームごとに拡大し、同時に色を変化させるアニメーションの実装例です。
from matplotlib import animation import matplotlib.pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True fig = plt.figure() ax = fig.add_subplot(111) text = 'You are welcome!' txt = ax.text(.20, .5, text, fontsize=15) colors = ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf'] def animate(num): txt.set_fontsize(num * 2 + num) txt.set_color(colors[num % len(colors)]) return txt, anim = animation.FuncAnimation(fig, animate, frames=len(text) - 1, blit=True) plt.show()
コードのポイント
このコードの重要なポイントは以下の通りです。
- FuncAnimation:指定した関数(ここでは animate)を一定間隔で繰り返し呼び出し、アニメーションを実現する中心的なクラスです。
- frames引数:アニメーションの総フレーム数を指定します。ここでは文字列の長さから1を引いた値が使われています。
- blit=True:変更された部分だけを再描画することで、描画パフォーマンスを向上させます。
- colors[num % len(colors)]:剰余演算により、色のリストを先頭に戻って循環的に使い続けることができます。
出力結果
上記のコードを実行すると、テキストのフォントサイズがフレームごとに大きくなり、色もリスト内の10色へと次々と変化していくアニメーションが表示されます。GIFアニメーションとして保存すれば、プレゼンテーション資料やWebページにも活用できます。


-
Matplotlibでpcolormeshをアニメーション化する方法【コード例付き解説】
Matplotlibでpcolormesh(擬似カラープロット)をアニメーション化する方法を、具体的な手順とサンプルコード付きで解説します。 アニメーション化の基本的な流れ pcolormeshをアニメーションさせるには、以下の手順に従います。 figureオブジェクトとサブプロットを作成する numpyを使ってx、y、tのデータポイントを生成する meshgrid関数で座標ベクトルから座標行列(X3、Y3、T3)を作成する pcolormesh()メソッドを使って、不規則な矩形グリッド上に擬似カラープロットを描画する カラーバーをfigureに追加する FuncAnimationクラスを使
-
Matplotlibで折れ線グラフをアニメーション化する方法を徹底解説
Matplotlibでは、FuncAnimationを活用することで、折れ線グラフに動きのあるアニメーション効果を簡単に加えることができます。本記事では、基本的な手順と実際に動作するサンプルコードを交えながら、その方法をわかりやすく解説します。折れ線グラフをアニメーション化する基本手順subplots()メソッドを使用して、図(figure)とサブプロットを作成します。x軸・y軸それぞれの表示範囲(スケール)を設定します。NumPyを使って、xおよびtのデータ点を生成します。座標ベクトルからmeshgrid()で座標行列X2とT2を作成します。plot()メソッドでxとFのデータを使い、折れ線