はじめに
2次元ランダムウォークの動いた範囲を10 x 10の2次元ヒストグラム(ヒートマップ)で示す方法について説明する。
コード
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk_and_heatmap-800x360.jpg)
解説
モジュールのインポート
データの生成
2次元ランダムウォークについては下記で説明した。
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk-1-160x90.jpg)
[matplotlib animation] 65. 2次元ランダムウォークアニメーション
matplotlibのFuncAnimationで2次元のランダムウォークアニメーションを表示する。
ランダムウォークの表示
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk_dcde.jpg)
2Dヒストグラムの範囲設定
ax.get_xlim(), ax.get_ylim()でランダムウォークのグラフの軸範囲を取得する。この軸範囲でx,y軸をそれぞれ10個に分割する。
2Dヒストグラムデータの生成
np.histogram2dでヒストグラムデータを求める。Hが各区画における頻度のデータとなる。
ヒートマップの表示
頻度データHは.Tで転置させることでランダムウォークとの位置関係が一致する。
カラーバーはmake_axes_locatableで設置する。詳細は以下で解説した。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/cb_append_axes_121_122-1-160x90.png)
[matplotlib] 18. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示
ヒートマップは以下のようになる。
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk_heatmap_dcde.jpg)
ランダムウォークとヒートマップを両方表示
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk_and_heatmap-800x360.jpg)
参考
![](https://sabopy.com/wp/wp-content/uploads/2019/12/2Drandomwalk-1-160x90.jpg)
[matplotlib animation] 65. 2次元ランダムウォークアニメーション
matplotlibのFuncAnimationで2次元のランダムウォークアニメーションを表示する。
![](https://sabopy.com/wp/wp-content/uploads/2019/03/cb_append_axes_121_122-1-160x90.png)
[matplotlib] 18. カラーバーを図にあわせる
疑似カラーマップのカラーバーを図にあわせて表示
numpy.histogram2d — NumPy v2.0 Manual
コメント