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フレーム分描画されます。

ポイント解説
FuncAnimation(fig, update, frames=20, interval=50)のframes引数はアニメーションの総フレーム数、intervalはフレーム間の間隔(ミリ秒)を指定します。np.random.rand(6, 6)により、毎フレーム新しいランダムな行列が生成されるため、画像が次々と切り替わるアニメーションになります。GIFとして保存したい場合は、
anim.save('animation.gif', writer='pillow')を使用すると便利です。
-
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
-
Matplotlibで円の中に長方形をプロットする方法
Matplotlibを使って円の中に長方形を描画したい場合、patchesモジュールが提供するRectangle()クラスとCircle()クラスを組み合わせることで簡単に実現できます。以下の手順に従ってください。手順figure()メソッドを使用して、新しい図を作成するか、既存の図をアクティブにします。add_subplot()メソッドで現在の図にサブプロット(軸)を追加します。Rectangle()クラスとCircle()クラスを使って、長方形と円のインスタンスを作成します。add_patch()メソッドで作成したパッチを軸に追加します。xlim()およびylim()メソッドを使用して、x