matplotlibで棒グラフを書く
今回は棒グラフを書きます。
フーリエ変換だとかもあるみたいですが、私がよく理解していないので。。。
他のグラフも、ギャラリーをに載ってるソースコードを読めば理解できるかと思います。
いろいろサンプルがあって非常に便利ですね。
以前のお話はこちら
matplotlibでグラフを書く - たこ焼き食べた.net
棒グラフ
棒グラフにはbar関数を使います。これは縦方向の棒グラフです。
横方向にはbarh関数を使います。
縦の棒グラフ
bar関数の引数は、
bar(棒の左端のx座標(left), 棒の高さ(bottom))
が最低限の条件となります。
更にいろいろと条件を指定することができ、色や線幅などの他にも、
棒の幅を指定するwidth, 一番下のy座標を決めるbottomなどがあります。
棒は、四角形で描画されますが、この四角形は以下の2点を結ぶ直線を対角線に取ります。
(left, bottom), (left + width, bottom + height)
詳細は公式を参考にしてください。
pyplot — Matplotlib 2.0.2 documentation
さて、ではサンプルです。
from pylab import * x = arange(5) y = (32, 24, 41, 2, 16) width = 0.5 barh(x, y, width, color='r', edgecolor='k') ylabel('nannka', fontname='serif') xticks(x + width/2, ('#1', '#2', '#3', '#4', '#5')) legend(("bar dayo",)) show()
x軸の目盛を指定するxticksは、公式のサンプルを参考にしました。
これは、棒の中央にラベルが来るように工夫しています。
横の棒グラフ
横方向に寝かした棒グラフです。
barh関数を使っています。
ここでは、一番下の値を変更しています(left引数)
これは、bar関数ではbottom引数に対応しています。
from pylab import * x = arange(5) y = (32, 24, 41, 2, 16) left = (-20, -12, -24, -32, -13) width = 0.5 barh(x, y, width, left=left, color='r', edgecolor='k') xlabel('nannka', fontname='serif') yticks(x + width/2, ('#1', '#2', '#3', '#4', '#5')) legend(("bar dayo",)) show()