Python
 Computer >> コンピューター >  >> プログラミング >> Python

Matplotlibでアニメーション画像マトリックスをプロットする方法

Matplotlibを使ってアニメーション付きの画像マトリックスをプロットするには、FuncAnimationを活用するのが便利です。以下の手順で実装できます。

実装手順

  • 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。

  • plt.subplots()を使って、図とサブプロットを作成します。

  • update関数を繰り返し呼び出すことで、アニメーションを生成します。

  • updateメソッド内では、6×6の行列データを生成し、imshow()を使って2次元のラスタ画像として表示します。

  • set_axis_off()を呼び出して、軸を非表示にします。

  • 最後にshow()メソッドで図を表示します。

コード例

from matplotlib.animation import FuncAnimation
import matplotlib.pyplot as plt
import numpy as np

plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True

fig, ax = plt.subplots()

def update(i):
    im_normed = np.random.rand(6, 6)
    ax.imshow(im_normed)
    ax.set_axis_off()

anim = FuncAnimation(fig, update, frames=20, interval=50)

plt.show()

出力結果

上記のコードを実行すると、以下のようなアニメーションが生成されます。ランダムな値を持つ6×6のマトリックスが、50ミリ秒ごとに更新されながら20フレーム分描画されます。

Matplotlibでアニメーション画像マトリックスをプロットする方法

ポイント解説

  • FuncAnimation(fig, update, frames=20, interval=50)frames引数はアニメーションの総フレーム数、intervalはフレーム間の間隔(ミリ秒)を指定します。

  • np.random.rand(6, 6)により、毎フレーム新しいランダムな行列が生成されるため、画像が次々と切り替わるアニメーションになります。

  • GIFとして保存したい場合は、anim.save('animation.gif', writer='pillow')を使用すると便利です。

  1. Seabornで2つのグラフを横に並べてプロットする方法(Matplotlib)

    データ分析では、複数のグラフを1つの図の中に並べて比較できると非常に便利です。この記事では、SeabornとMatplotlibを組み合わせて、2つのグラフを横並び(1行2列)で表示する方法を解説します。 実装の流れ 2つのグラフを並べて描画するには、以下の手順を実行します。 plt.subplots(1, 2) を使い、figureサイズ(7, 7)で1行2列のサブプロットを作成します。 Pandasを使って、col1 と col2 のキーを持つデータフレームを作成します。 countplot() メソッドを使用し、カテゴリごとの観測値の件数を棒グラフで可視化します。 subplots_a

  2. Matplotlibで円の中に長方形をプロットする方法

    Matplotlibを使って円の中に長方形を描画したい場合、patchesモジュールが提供するRectangle()クラスとCircle()クラスを組み合わせることで簡単に実現できます。以下の手順に従ってください。手順figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドで現在の図にサブプロット(軸)を追加します。Rectangle()クラスとCircle()クラスを使って、長方形と円のインスタンスを作成します。add_patch()メソッドで作成したパッチを軸に追加します。xlim()およびylim()メソッドを使用して、x