[matplotlib] 6.ヒストグラムの作成方法と詳細なパラメータ調整

matplotlib

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

このページでは、matplotlibを使ったヒストグラム作成の基本から応用まで、様々なパラメータによる変化を実例とともに詳しく解説します。データの分布を最適に表現するためのカスタマイズテクニックを身につけましょう。

基本的なヒストグラム

モジュールのインポート

ヒストグラムの作成

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

様々なパラメータ設定を調整することでヒストグラムの見た目をカスタマイズできます。以下でその詳細を説明していきます。

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

棒(bin)の数の設定

plt.hist()は、返り値として、n、bins、patchesの3つの値を返します。nは度数、binsはヒストグラムのビンの境界値を示す配列、patchesはグラフ描画用のパッチオブジェクトです。ヒストグラムの棒の数はbinsパラメータで調整でき、配列を渡すとその値がそのままビンの境界値として使用されます。整数値を渡した場合は、データの最小値と最大値を基に、指定した数のビンが自動的に生成されます。

棒(bin)の幅の設定

rangeパラメータでも、ヒストグラムのビンが取る範囲を設定できます。例えば、range=(-5,5)と指定すると、bins=np.arange(-5,6,1)としたときと同じビン区切りになります。デフォルト値はrange=(np.min(data),np.max(data))で、bins=10と組み合わせると、b2とb4は同じ配列になります。

ヒストグラムの正規化

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

累積ヒストグラム

cumulative=Trueパラメータを設定すると、データの累積分布を表示する累積ヒストグラムを作成できます。

ヒストグラムの底上げ

bottomパラメータ(例: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」の略で、棒の幅をビンの幅に対する比率で調整できます。デフォルト値は1であり、隙間のない棒グラフになります。1未満に設定すると、棒と棒の間に隙間が生じたヒストグラムになります。

y軸をlogスケールに変更

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

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

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

参考

matplotlib.pyplot.hist — Matplotlib 3.10.5 documentation

コメント

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