Pythonでデータを可視化するmatplotlib入門(ヒストグラム編)
こんにちは、なおいです。
matplotlibというライブラリでグラフを描いてきました。今回で恐らく終了です。またMatplotlibで何か書くかもしれません。そういえば3次元のも書いときたいな。前言撤回まだ続きそうです。
では、ヒストグラムを描いていきたいなと思います。最初のインストールやインポートについては 割愛しますので、最初の記事をご参照いただければ。。。
ヒストグラムのプロット
0.ヒストグラムとは
データを整理する代表的な手法の一つで、基本的には横軸は階級,縦軸は度数(その階級に属するデータ数)を表したもの。分布の全体的な様子を見ることができるため、実際にデータの全体的な様子を把握したいときに利用する。
1.基本
import matplotlib.pyplot as plt x = np.random.nomal(75,5,2000) plt.hist(x) plt.show()
今回は、ヒストグラムということでランダムな生データが適当な数必要になるので、numpyで生成しました。
問題なくプロットされました。では、前回同様に見た目をカスタマイズしていきます。
2.プロットの見た目をいじる
import matplotlib.pyplot as plt x = np.random.nomal(75,5,2000) plt.hist(x,bins=12,rwidth=0.8,label="test") plt.legend() plt.show()
赤文字部を追加することで棒の全体の太さを変えて、棒自体の本数を増やしています。今回も例に漏れずヒストグラムに付けられる主要なカスタマイズキーワードは表形式でグラフの後に載せときます。
次は目盛線を散布図とは違う方法でつけてみます。さらに、グラフタイトルとX軸Y軸のラベルを入れましょう。
Tips)プロットに付与できる主要なカスタマイズキーワード
主要と書いてます通り、今回もたくさんキーワードはあります。より細かい指定で様々なヒストグラムが描けますが、最低限これだけおさえてれいれば、普通のグラフは書けるかなという範囲のみ記載しておきます。
kywd | 入力例 | 備考 |
---|---|---|
x | ヒストグラムとしてプロットしたい生データ | array形式のもの ※必須 |
bins | bins=5 | 表示する棒(ビンと呼ぶ)の数 |
color | color="r" または color="#FFFF00" または color=(1.0,0,1.0) |
棒の色 色名や16進数、RGBでの指定が可能 |
normed | normed=True | Trueにすると合計値を1になるように正規化する |
histtype | histtype="step" | ヒストグラムのタイプ barは通常 barstackedは積み上げ stepは線 stepfilledは塗りつぶし線 |
orientation | orientation='horizontal' | 棒の配置方向 horizontalは水平 verticalは垂直 |
rwidth | rwidth=0.5 | 棒の幅 |
bottom | bottom=積み上げるデータ | 積み上げ用データ |
log | log=True | 対数目盛での表示 |
label | label="label1" | 凡例名 |
色と形については、リファレンスを見ると以下のものが用意されているみたいです。
color example code: named_colors.py — Matplotlib 2.0.2 documentation
3.グラフの見た目をいじる
import matplotlib.pyplot as plt x = np.random.normal(75,5,2000) plt.hist(x,bins=12,rwidth=0.8,label="test",log=True) plt.legend() plt.xlabel("X-label") #X軸ラベル plt.ylabel("Y-label") #Y軸ラベル plt.title("TEST GRAPH") #グラフタイトル plt.show()
先ほど同様、赤文字部を追加することで見た目のカスタマイズを行いました。実際のグラフが以下のものです。