はじめに
matplotlibのhexbinでbinの形状を六角形とした2次元ヒストグラムを表示する方法について説明する。
コード
解説
モジュールのインポートなど
バージョン
データの生成
np.random.standard_normalで標準正規分布(mean = 0、stdev = 1)に従うランダムなデータを生成する。
2次元ヒストグラムの表示
左のax0にリニアスケールの図を表示し、右のax1にログスケールの図を表示する。
hexbinプロットはax.hexbin()でデータとしてx, yを指定し、縦横をどう区切るかをについてはgridsizeで設定する。cmapではカラーマップを選択する。
カラーバーはcb = fig.colorbar(hb, ax=ax0,shrink=0.7)で表示し、shrinkで長さを縮めている。
ログスケールのカラーバーにする場合、ax1.hexbin()でbins=’log’とする。
mincntを変化させた場合
ax.hexbin()でmincnt=2のようにすると2より小さいデータが非表示となる。
gridsizeを変化させた場合
ax.hexbin()でgridsizeを大きくすると細かいbinとなり、小さくすると大きいbinとなる。
edgecolorsを変化させた場合
ax.hexbin()でedgecolorsはdefaultで”face”であり、塗りつぶしのcmapと同じ色になる。edgecolors=”C2″のようにすることでedgecolorsを指定できる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)参考
matplotlib.pyplot.hexbin — Matplotlib 3.2.1 documentation
コメント