matplotlibでヒストグラムを作成するplt.hist()について
matplotlibのヒストグラムはplt.hist()で簡単に作成することができる。ここでは、その詳細について説明する。
基本的なヒストグラム
モジュールのインポート
ヒストグラムの作成
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist.png)
dataをplt.hist()にわたすだけでヒストグラムを作成できる。
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_kai.png)
いろいろと設定を変えることで見た目を変えることができる。
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_2ko.png)
2つのヒストグラムを重ねて表示することもできる
棒(bin)の数の設定
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_bins.png)
plt.hist()は、返り値として、n,bins,patchesが返ってくる。nは度数で、binsはヒストグラムのビンの配列で、patchesは、グラフを描写するためのpatches。
棒の数はbinsで変更することができ、配列を渡すと、そのままそれがbinsとなり、整数を渡すとデータの最小値、最大値を使用したbinsの配列が生成する。
棒(bin)の幅の設定
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_range.png)
rangeでも、ビンのとる範囲を設定することができる。range=(-5,5)は、bins=np.arange(-5,6,1)としたときと同じbinsとなる。
デフォルト値は、range=(np.min(data),np.max(data))で、bins=10のため、b2とb4は同じ配列となっている。
ヒストグラムの正規化
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_densuty.png)
density=Trueでヒストグラムを正規化することができる。
累積ヒストグラム
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_cumulative.png)
cumulative=Trueで累積ヒストグラムにすることができる。
ヒストグラムの底上げ
![](https://sabopy.com/wp/wp-content/uploads/2019/02/hist_bottom.png)
bottom=3000のようにすることで、ヒストグラムを底上げすることができる。
底上げをしてもデータ自体(度数)は変化しない。
ヒストグラムのタイプ
histtype=’bar’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/bar.png)
histtype=’barstacked’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/barstacked.png)
histtype=’step’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/step.png)
histtype=’stepfilled
![](https://sabopy.com/wp/wp-content/uploads/2019/02/stepfilled-1.png)
ヒストグラムを重ねて表示
![](https://sabopy.com/wp/wp-content/uploads/2019/02/stacked.png)
stacked=Trueでhisttype=’barstacked’としたときと同じヒストグラムが生成する。
棒を表示する位置の設定
棒の生える位置はalignで変更できる。leftで棒の中央がビンの左端にきて、midで中央にきて、rightで右端にくるようになる。
align=’left’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/align_left.png)
align=’mid’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/align_mid.png)
align=’right’
![](https://sabopy.com/wp/wp-content/uploads/2019/02/align_right.png)
平行ヒストグラム
![](https://sabopy.com/wp/wp-content/uploads/2019/02/horizontal.png)
orientation=’horizontal’でヒストグラムを横にすることができる。デフォルト値は、verticalとなっている。
棒の幅をビンの幅に対する比率で設定
![](https://sabopy.com/wp/wp-content/uploads/2019/02/rwidth.png)
rwidthはrelative width of the barsの略で、barの幅をビンの幅に対しての比率で変更できる。デフォルト値は1なので隙間ない棒グラフとなり、1以下とすると、隙間が空いたヒストグラムとなる。
y軸をlogスケールに変更
![](https://sabopy.com/wp/wp-content/uploads/2019/02/log.png)
log=Tureで度数を示す軸をログスケールにすることができる。
コードをダウンロード(.pyファイル) コードをダウンロード(.ipynbファイル)
コメント
[…] [matplotlib] 6.ヒストグラムmatplotlibでヒストグラムを作成することのできるplt.hist()について説明する。sabopy.com2019.02.14 (adsbygoogle = window.adsbygoogle || []).push({}); […]