matplotlibはPythonでグラフを描くときの定番ツールです。Google先生のおかげで様々なグラフの例を見つけることができるので真似するのはカンタンなのですが、いざ自分で描きたいグラフを一から書こうとするととてつもなく難しいです。「これだけ知っていれば応用に繋がる」基礎的なテクニックをまとめていきます!
matplotlibとは?
Pythonでグラフ等を描くときに使用する標準ライブラリで、線グラフや棒グラフや散布図など様々なグラフを簡単に描くことができます。
慣れるとExcelを使うより簡単に色々なグラフを生成できるようになるのですが、基礎的なテクニックを身につける必要があります。
以下の公式ギャラリーにどんなグラフを描けるかがまとまっている
Thumbnail gallery — Matplotlib 1.5.3 documentation
公式ギャラリーにあるグラフと同じグラフはコピペでカンタンに生成できるのですが、自分が作りたいグラフを自由に書けるようになるには少し学習が必要になります。
では、ここからは「これだけ知っていれば応用に繋がる」基礎的なテクニックをご紹介します!
matplotlibのインストール方法
まずは、インストール方法です。
pip
を使ってインストールしていくので、pip
ってなんぞやって方は以下をご参照ください。
描画するデータを作成するのにnumpy
を使用するのが主流なためpipでインストールします。
$ pip install numpy
同じくpipでmatplotlib
をインストールします。
$ pip install matplotlib
少し容量が大きく50MBほどのダウンロードが始まります。
参考
python環境 に matplotlib を入れる | ジャカルタトラップ
ここで注意なのがpyenvとかvirtualenvとか使っている場合、import時にエラーが発生してしまいます。
以下を参考に、backendをmacosx
からTkagg
に変更しなければなりません。
pyenvとvirtualenvで環境構築した時にmatplotlib.pyplotが使えなかった時の対処法 - Qiita
matplotlibの基本的な使い方
インストールが終わったので、実際に動かしながら基本的な使い方をご説明します。
まずmatplotlib
を使う際には必ず以下の2つのモジュールを読み込みます。
numpy
はnp
という名前で、matplotlib.pyplot
はplt
という名前でインポートするのが慣例になっています。
import numpy as np
import matplotlib.pyplot as plt
グラフを描くのに必要な作業は基本的にはたったの2つだけです。
- プロット(
plt.plot()
) - 画面に出力(
plt.show()
)
この2つの関数を使って、グラフをとりあえず書いてみます。
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y = np.sin(x)
plt.plot(x, y)
plt.show()
どこにプロットするかを指定するために、numpy array
を生成する必要があります。
np.linspace
関数を使うと、指定した区間を等分したデータを生成できます。
今回は、-π
からπ
まで256等分したデータを生成しています。
その等分したデータをsin
に入れてプロットすると、以下のようなグラフを描くことができます。