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

Matplotlibでカラーバーをアニメーション化する方法は?


matplotlibでカラーバーをアニメーション化するには、次の手順を実行できます-

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

  • 新しいフィギュアを作成するか、既存のフィギュアをアクティブにします。

  • '〜.axes.Axes'を追加します サブプロットの配置の一部として図に。

  • 分周器をインスタンス化します 既存の軸、つまりaxオブジェクトに基づいて、指定されたセルの新しい軸ロケーターを返します。

  • 指定された*位置*に軸を作成します 同じ高さで (または )主軸の。

  • numpyを使用してランダムデータを作成します。

  • imshow()を使用する ランダムデータをプロットする方法。

  • プロットのタイトルを設定します。

  • カラーマップのリストをインスタンス化します。

  • カラーバーをアニメーション化するには、 animate()を使用します メソッド。

  • 図を表示するには、 show()を使用します メソッド。

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from mpl_toolkits.axes_grid1 import make_axes_locatable

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

fig = plt.figure()

ax = fig.add_subplot(111)
div = make_axes_locatable(ax)
cax = div.append_axes('right', '5%', '5%')
data = np.random.rand(5, 5)
im = ax.imshow(data)
cb = fig.colorbar(im, cax=cax)
tx = ax.set_title('Frame 0')
cmap = ["copper", 'RdBu_r', 'Oranges', 'cividis', 'hot', 'plasma']

def animate(i):
   cax.cla()
   data = np.random.rand(5, 5)
   im = ax.imshow(data, cmap=cmap[i%len(cmap)])
   fig.colorbar(im, cax=cax)
   tx.set_text('Frame {0}'.format(i))
ani = animation.FuncAnimation(fig, animate, frames=10)

plt.show()
>

出力

Matplotlibでカラーバーをアニメーション化する方法は?


  1. MatplotlibのFigureからカラーバーインスタンスを取得するにはどうすればよいですか?

    matplotlibのfigureからカラーバーインスタンスを取得するには、カラーバーのimshowスカラーマップ可能オブジェクトを使用してカラーバーインスタンスを取得します。 ステップ 配列の10×10次元、-1から1の間のデータポイントでランダムデータを取得します。 imshow()を使用する データを画像として、つまり2Dの通常のラスターに表示する方法。 ScalarMappableインスタンスのカラーバーを作成します。*mappable * 、 imshow()を使用 オブジェクト。 図を表示するには、 show()を使用します メソッド。 例 impo

  2. Matplotlibでpcolormeshをアニメーション化する方法は?

    pcolormeshをアニメーション化するには matplotlibでは、次の手順を実行できます- 図とサブプロットのセットを作成します。 numpy を使用してx、y、tデータポイントを作成します 。 X3を作成します 、 Y3 およびT3、メッシュグリッドを使用して座標ベクトルから座標行列を返します。 pcolormesh()を使用して、不規則な長方形グリッドで疑似カラープロットを作成します メソッド。 colormeshでカラーバーを作成する 軸。 pcolormeshをアニメーション化する Animation()を使用する クラスメソッ