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