matplotlib.pyplot.bar – 棒グラフ

基本形

pyplot.bar()に2つの引数を与えるのが基本形。

  • 第1引数は横軸のリスト
  • 第2引数は横軸リストの要素に対応した値

python-matplot-pyplot-bar01

bar(x, y)の横軸xの要素はfloatでなければならないが、これを文字表記に変更する。

python-matplot-pyplot-bar02

ただし項目名が左寄せになっているので、これらをセンタリングする。

なおxticksを指定せず数値のままでセンタリングすると、xで与えた数値が中央に来るよう調整される。

python-matplot-pyplot-bar03

棒の位置や幅のコントロール

デフォルトでは棒の位置はxで与えた数値に左寄せされる。またwidth=で棒の幅を指定することができる。

以下のように指定することで、ヒストグラムのような図を描くこともできる。

python-matplot-pyplot-bar04

hist()関数の戻り値を使って、以下のように書けるが、時にグラフの両側に空きができてしまうので、さらに検討が必要。

 

ヒストグラム

pyplotで簡単にヒストグラムが描ける。デフォルトでは縦軸は度数。

python-matplot-pyplot-histgram-normed-false

縦軸を頻度にしたい場合は、normed=TRUEオプションをつける。

縦軸が小数になっていて、各階級の頻度が1/10bins→0.1程度になっていることに注意。

python-matplot-pyplot-histgram-normed-true

頻度分布について

上の例ではうまく頻度分布が表示されているが、以下のようにうまくいかない場合がある。

python-matplot-pyplot-histgram-normed-trouble

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

ヒストグラムのrankの範囲とplotのx軸の範囲を同じにすれば、こちらの例のように重ねて描くことができる。

ヒストグラムの戻り値

hist()は3つの戻り値を返す。

bin_count
各ビンの度数。
bin_position
ビン数とrangeに応じたビンの位置。
patches
各ビンのオブジェクトの配列。ビンごとに色を変えるなどの操作ができる。