[matplotlib] 6.ヒストグラム

matplotlib

matplotlibでヒストグラムを作成するplt.hist()について

matplotlibのヒストグラムはplt.hist()で簡単に作成することができる。ここでは、その詳細について説明する。

基本的なヒストグラム

モジュールのインポート

ヒストグラムの作成

dataをplt.hist()にわたすだけでヒストグラムを作成できる。

いろいろと設定を変えることで見た目を変えることができる。

2つのヒストグラムを重ねて表示することもできる

棒(bin)の数の設定

plt.hist()は、返り値として、n,bins,patchesが返ってくる。nは度数で、binsはヒストグラムのビンの配列で、patchesは、グラフを描写するためのpatches。

棒の数はbinsで変更することができ、配列を渡すと、そのままそれがbinsとなり、整数を渡すとデータの最小値、最大値を使用したbinsの配列が生成する。

棒(bin)の幅の設定

rangeでも、ビンのとる範囲を設定することができる。range=(-5,5)は、bins=np.arange(-5,6,1)としたときと同じbinsとなる。

デフォルト値は、range=(np.min(data),np.max(data))で、bins=10のため、b2とb4は同じ配列となっている。

ヒストグラムの正規化

density=Trueでヒストグラムを正規化することができる。

累積ヒストグラム

cumulative=Trueで累積ヒストグラムにすることができる。

ヒストグラムの底上げ

bottom=3000のようにすることで、ヒストグラムを底上げすることができる。
底上げをしてもデータ自体(度数)は変化しない。

ヒストグラムのタイプ

histtype=’bar’

histtype=’barstacked’

histtype=’step’

histtype=’stepfilled

ヒストグラムを重ねて表示

stacked=Trueでhisttype=’barstacked’としたときと同じヒストグラムが生成する。

棒を表示する位置の設定

棒の生える位置はalignで変更できる。leftで棒の中央がビンの左端にきて、midで中央にきて、rightで右端にくるようになる。

align=’left’

align=’mid’

align=’right’

平行ヒストグラム

orientation=’horizontal’でヒストグラムを横にすることができる。デフォルト値は、verticalとなっている。

棒の幅をビンの幅に対する比率で設定

rwidthはrelative width of the barsの略で、barの幅をビンの幅に対しての比率で変更できる。デフォルト値は1なので隙間ない棒グラフとなり、1以下とすると、隙間が空いたヒストグラムとなる。

y軸をlogスケールに変更

log=Tureで度数を示す軸をログスケールにすることができる。

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

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

参考

matplotlib.pyplot.hist — Matplotlib 3.8.3 documentation

コメント

  1. […] [matplotlib] 6.ヒストグラムmatplotlibでヒストグラムを作成することのできるplt.hist()について説明する。sabopy.com2019.02.14 (adsbygoogle = window.adsbygoogle || []).push({}); […]