[matplotlib] 53. 2次元ランダムウォークのヒートマップ

matplotlib

はじめに

2次元ランダムウォークの動いた範囲を10 x 10の2次元ヒストグラム(ヒートマップ)で示す方法について説明する。

コード

コードをダウンロード(.pyファイル)コードをダウンロード(.ipynbファイル)

解説

モジュールのインポート

データの生成

2次元ランダムウォークについては下記で説明した。

[matplotlib animation] 65. 2次元ランダムウォークアニメーション
matplotlibのFuncAnimationで2次元のランダムウォークアニメーションを表示する。

ランダムウォークの表示

2Dヒストグラムの範囲設定

ax.get_xlim(), ax.get_ylim()でランダムウォークのグラフの軸範囲を取得する。この軸範囲でx,y軸をそれぞれ10個に分割する。

2Dヒストグラムデータの生成

np.histogram2dでヒストグラムデータを求める。Hが各区画における頻度のデータとなる。

ヒートマップの表示

頻度データHは.Tで転置させることでランダムウォークとの位置関係が一致する。
カラーバーはmake_axes_locatableで設置する。詳細は以下で解説した。

[matplotlibの使い方] 18. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示

ヒートマップは以下のようになる。

ランダムウォークとヒートマップを両方表示

参考

[matplotlib animation] 65. 2次元ランダムウォークアニメーション
matplotlibのFuncAnimationで2次元のランダムウォークアニメーションを表示する。
[matplotlibの使い方] 18. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示
numpy.histogram2d — NumPy v1.19 Manual

コメント