matplotlibことはじめ
仕事でmatoplotlibを使ってログデータを可視化する作業があったので、とりあえずざっくりとしたメモ。
準備
numpy,scipy,matplotlibを入手
64bit版はUnofficial Windows Binaries for Python Extension Packagesからwheelで入手できる。ファイル名のcp以下の番号がPythonのバージョンであることに注意。(2.7ならcp27を選択)
インストール
wheelがない場合は事前にpipでwheelをインストールしておく。
numpy,scipyをインストール後,matplotlibをインストール
$pip install scipy‑0.15.1‑cp27‑none‑win_amd64.whl $pip install numpy‑1.8.2+mkl‑cp27‑none‑win_amd64.whl $pip install matplotlib‑1.4.3rc1‑cp27‑none‑win_amd64.whl</pre>
やりたかったこと
単一グラフの描画
- 複数の系列データを1つのグラフにまとめて描画
- 複数グラフの描画
- 複数の系列データごとにグラフで描画
まあexcelとかでやれば、セルを選択して描画とかできる簡単な作業なのだけど、描画するのにデータを加工したりする作業が発生するので、バッチ処理で一気にグラフまで生成したいというのが目的。
matplotlibのインポート
import matplotlib.pyplot as plt
単一グラフの描画
グラフのタイトル
plt.title('title')
x軸・y軸のラベル
plt.xlabel('x') plt.ylabel('y')
x軸・y軸の範囲
plt.xlim(0, 100) plt.ylim(0, 50)
描画
x軸のデータとそれに対応するy軸のデータをリスト形式でplot()に渡す。
系列データを重ねて描画したい場合は、新たなデータをplot()に渡せばOK
plt.plot(x, y)
グラフの保存
plt.savefig('hoge.png')
凡例
複数の系列データを描画した場合、どのグラフが何を示しているかわからんので凡例を入れます
plot()を呼ぶ際に引数にラベル名を渡して,最後にlegend()を呼べばOK
plt.plot(x, y, label='a') plt.plot(i, j, label='b') plt.legend()