はじめに
matplotlibのaxes_grid1を用いてヒストグラム付き散布図を表示する方法を説明する。
コード

参考
モジュールのインポート
mpl_toolkits.axes_grid1 からmake_axes_locatableをインポートする。
データの生成
x,yは正規分布に従う1500個のデータとなる。
散布図の生成
figオブジェクトを作成して、xとyを透明度0.3でプロット。
ヒストグラム
図の追加
divider = make_axes_locatable(ax)でaxに図を追加できるようにして、divider.append_axes(“top”, 1.2, pad=0.1, sharex=ax)でaxとx軸の設定が同じな、高さが1.2インチの図を0.1インチの隙間をあけて上に追加する。そして、それをaxHistxとしている。axHistyも同様にaxの右側に作成する。axHistyはaxとy軸の設定が同じとなる。
ヒストグラムの表示
上記のようにすることで、データ範囲を網羅する”きれいな”binをつくることができる。axHistyは水平ヒストグラムにする必要があるので、orientation=’horizontal’となる。
ヒストグラムの表示範囲の設定
axHistxのx軸と、axHistyのy軸は、axと同じとなるので、設定する必要がない。
参考
Toolkits — Matplotlib 3.3.3 documentation
コメント