matplotlib.pyplot.hist – ヒストグラム

概要

matplotlib.pyplot.histは、配列データのヒストグラムを描画する。主なパラメータのみ示す。

hist(X, bins, range, density, cumulative, histtype, rwidth, color, stacked)
Xはヒストグラムのデータで一つのグラフに一つの1次元配列。その他のパラメーターは以下で説明。

ヒストグラムの形式

度数分布

1次元の配列でデータを渡すと、その度数分布が描かれる。

ただしデフォルトでは各ビンのエッジが区別できないため、これを描くためにはedghecolorの指定が必要。edgecolorの代わりにecで指定してもよい。

頻度分布

density=Trueを指定すると、頻度分布になる。各ビンの総和が1となるように調整され、形状は度数分布と同じ。

累積分布図

cumulative=Trueを指定すると、累積度数分布、累積頻度分布を描く。

ビン数

binsでヒストグラムの柱(ビン)の数等を指定する。デフォルトはbins=10

bins=n
ビンの数を数値で指定する。
bins=sequence
ビンの境界値をリスト等で指定する。

ビン(bin)は英語で、店の商品や工場の部品などを入れておく大きなケース、ストッカーのことをいい、British Englishではごみ箱を指す。日本語の瓶(びん)の呼び名とは関係ないらしい。

レンジ

rangeでヒストグラムのビンを分割する範囲を指定する。そのレンジの上下限値の間でbinsで指定されたビンに分割される。

色・エッジの指定

colorでビンの色、edgecolor/ecでエッジの色、linewidthでエッジの幅を指定する。

ビンの幅

rwidthでビンの幅を指定する。デフォルトはrwidth=1で各ビンが密着。

ヒストグラムのタイプ

histtype='type'でヒストグラムのタイプを指定する。

bar
一般的なヒストグラムの形状。
barstacked
複数のヒストグラムの場合に、同じビンの値を積み上げていく。
step
ビンの間の境界を描かない。
stepfilled
ビンの間の境界を描かず、中を塗りつぶす。

以下の例では、'bar''step''stepfilled'について例示。

複数のヒストグラム

単純な重ね合わせ

複数のヒストグラムを重ね合わせるには、同じターゲットに対して各データについてhistを実行する。

単に重ね合わせると、初めの方のヒストグラムが後の方で塗りつぶされてしまうので、それらを見えるようにするにはalphaで透明度を指定する。

ただし単に重ね合わせただけの場合、各ヒストグラムのビンの境界が必ずしも一致しない。

ヒストグラムとplotの重ね合わせ

こちらを参照。

ビン境界の整合

複数のヒストグラムのビンの境界を一致させるには以下の方法がある。

  • 各グラフに対して同じrangebins=nを指定する
  • 各グラフに対して同じbins=sequenceを指定する

並べる・積み上げる

複数のデータを配列とした場合(複数の1次元のデータを並べて2次元配列として与えた場合)、デフォルトでは各ビンが横に並べられる。

また、stacked=Trueあるいはhisttype='barstacked'を指定した場合、同じ階級のビンが積み上げられる。

戻り値

n
各ビンの値(度数または頻度)
bins
各ビンの境界値
patches
ヒストグラム描画に使われたpatcheオブジェクトのリスト

単一のヒストグラムの場合

以下の例では、nの結果として10個のビンの度数が得られている。

複数のヒストグラムの配列の場合

複数のデータを配列で与えた場合の戻り値。nが3つのデータごとの配列になっている。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です