Matplotlib アニメーション

Zeeshan Afridi 2024年2月15日
  1. Matplotlib アニメーション
  2. Python に Matplotlib をインストールする
  3. Matplotlib でアニメーションを作成する
  4. まとめ
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 アニメーション

まとめ

Matplotlib アニメーションに関する記事を締めくくるために、Python で matplotlib ライブラリを使用してアニメーションを作成する方法について説明しました。 そのため、非常に簡単な方法でアニメーションを作成できます。

上記の記事は、最初に FuncAnimation クラスを作成することを示しています。 次に、Figure と Axes インスタンスを作成します。 以上の手順で、アニメーション グラフを作成できます。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn