Matplotlib アニメーション
Matplotlib では、マウス クリックやキー押下などのユーザー入力に応答する視覚化を作成できます。 インタラクティブなビジュアライゼーションは、アニメーションと同じテクニックを使用して作成できます。
Matplotlib アニメーション
Matplotlib は 2D プロットに使用されるライブラリですが、アニメーションを作成する関数も含まれており、matplotlib.animation
モジュールを使用すると、アニメーションを簡単に作成できます。
アニメーション関数は図とアニメーション関数を取ります。 アニメーション関数は、アニメーションのフレームごとに呼び出されます。
Figure は、軸、アーティスト、およびキャンバスのコンテナーです。 軸はプロットが描画される場所であり、アーティストはキャンバス上に描画されるオブジェクトです。
アニメーション関数は、フレーム間のミリ秒数を指定する interval 引数で呼び出すことができ、デフォルト値は 1000
です。 matplotlib.animation
モジュールには、ムービーを作成するための関数も含まれています。
movie 関数は図とアニメーション関数を取ります。
Python に Matplotlib をインストールする
Matplotlib をインストールするには、いくつかの方法があります。 最も簡単な方法は、pip
コマンドを使用することです。
pip install matplotlib
Matplotlib をインストールするには、numpy
ライブラリの有効なインストールが必要です。 ここでも、有名な pip
コマンドを使用します。
pip install numpy
numPy
をインストールしたら、ソース コードから Matplotlib をインストールできます。 最後に、次のコマンドを実行します。
python setup.py install
システム上のすべてのユーザーに Matplotlib をインストールするには、管理者権限が必要です。 Linux では、コマンドを実行してこれを行うことができます。
sudo python setup.py install
Windows では、コマンドを実行する必要があります。
python setup.py install
matplotlib
を 1 人のユーザーにインストールする場合は、--user フラグ
を使用できます。
python setup.py install --user
Matplotlib でアニメーションを作成する
Matplotlib でアニメーションを作成するのは比較的簡単で、FuncAnimation
クラスを使用する必要があります。 アニメーションを作成するには、最初に Figure と Axes インスタンスを作成する必要があります。
Figure は pyplot.figure()
関数を使用して作成され、軸は pyplot.axes()
関数を使用して作成されます。
Figure と軸を作成したら、FuncAnimation
クラスを使用して Figure をアニメーション化できます。
FuncAnimation
クラスには、アニメーションを作成する前に定義する必要があるアニメーション関数が必要です。 アニメーション関数は、1つのパラメーター (フレーム番号) を受け取る必要があります。
フレーム番号は、各アニメーション ステップでの Figure の外観を決定します。 アニメーション関数には、フレーム番号が更新されると実行される任意のプロット コードを含めることができます。
アニメーションを作成するには、anim = FuncAnimation(fig, func, frames=frames)
関数を呼び出す必要があります。ここで、fig
は図、func
はアニメーション関数です。
frames 引数はオプションで、アニメーションのフレーム数を指定するために使用されます。 指定しない場合、アニメーションは Figure が閉じられるまで実行されます。
コード例:
# import the required libraries and modules
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
fig = plt.figure()
ax = plt.axes(xlim=(0, 4), ylim=(-2, 2))
(ln,) = ax.plot([], [], "bo")
xdata, ydata = [], []
def init():
ax.set_xlim(0, 2 * np.pi)
ax.set_ylim(-1, 1)
return (ln,)
def update(frame):
xdata.append(frame)
ydata.append(np.sin(frame))
ln.set_data(xdata, ydata)
return (ln,)
anim = FuncAnimation(
fig, update, frames=np.linspace(0, 2 * np.pi, 128), init_func=init, blit=True
)
anim.save("animation.gif", writer="imagemagick", fps=60)
出力:
まとめ
Matplotlib アニメーションに関する記事を締めくくるために、Python で matplotlib
ライブラリを使用してアニメーションを作成する方法について説明しました。 そのため、非常に簡単な方法でアニメーションを作成できます。
上記の記事は、最初に FuncAnimation
クラスを作成することを示しています。 次に、Figure と Axes インスタンスを作成します。 以上の手順で、アニメーション グラフを作成できます。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn