はじめに
2次元ランダムウォークの動いた範囲を10 x 10の2次元ヒストグラム(ヒートマップ)で示す方法について説明する。
コード
解説
モジュールのインポート
データの生成
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. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示
ヒートマップは以下のようになる。
ランダムウォークとヒートマップを両方表示
コードをダウンロード(.pyファイル)
コードをダウンロード(.ipynbファイル)
参考
[matplotlib animation] 65. 2次元ランダムウォークアニメーション
matplotlibのFuncAnimationで2次元のランダムウォークアニメーションを表示する。
[matplotlib] 18. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示
numpy.histogram2d — NumPy v2.1 Manual
コメント