[matplotlib] 21. ヒストグラム付き散布図

matplotlib

はじめに

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”, 0.8, pad=0.1, sharex=ax)でaxとx軸の設定が同じな、高さが0.8インチの図を0.1インチの隙間をあけて上に追加する。そして、それをaxHistxとしている。axHistyも同様にaxの右側に作成する。axHistyはaxとy軸の設定が同じとなる。

ヒストグラムの表示

上記のようにすることで、データ範囲を網羅するbinsをつくることができる。axHistyは水平ヒストグラムにする必要があるので、orientation=’horizontal’となる。

ヒストグラムの目盛りの設定

axHistxのx軸と、axHistyのy軸は、中央のaxと同じとなるので、設定する必要がない。

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

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

参考

https://matplotlib.org/api/toolkits/index.html#matplotlib-axes-grid1-toolkit

コメント