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

matplotlib

はじめに

この記事ではmatplotlibのaxes_grid1を使用して、散布図と一緒にx軸とy軸方向のヒストグラムを表示する方法について説明します。データの分布を視覚的に把握するのに役立つグラフ作成テクニックです。

ヒストグラム付き散布図は、2次元データの分布を視覚的に把握するのに非常に効果的です。散布図によってデータ点の関係性を確認でき、同時に各軸のヒストグラムによって1次元の分布も確認できます。

コード

参考

モジュールのインポート

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の右側に作成され、axとy軸の設定を共有します。

ヒストグラムの表示

このように設定することで、データの範囲全体をカバーするビンを作成できます。右側のヒストグラム(axHisty)は水平方向に表示する必要があるため、orientation=’horizontal’パラメータを指定しています。

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

axHistxのx軸と、axHistyのy軸は中央のaxと共有されているため、別途設定する必要はありません。

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

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

参考

Toolkits — Matplotlib 3.4.3 documentation

コメント