[matplotlib] 84. binの形状を六角形とした2次元ヒストグラムを表示(matplotlib hexbin)

matplotlib

はじめに

matplotlibのhexbinでbinの形状を六角形とした2次元ヒストグラムを表示する方法について説明する。

コード

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

解説

モジュールのインポートなど

バージョン

データの生成

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を指定できる。 

参考

matplotlib.pyplot.hexbin — Matplotlib 3.2.1 documentation

コメント