Python プログラミング

Python - matplotlibの基礎的なグラフの描き方

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つのモジュールを読み込みます。
numpynpという名前で、matplotlib.pyplotpltという名前でインポートするのが慣例になっています。

import numpy as np
import matplotlib.pyplot as plt

グラフを描くのに必要な作業は基本的にはたったの2つだけです。

  1. プロット(plt.plot()
  2. 画面に出力(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に入れてプロットすると、以下のようなグラフを描くことができます。

-Python, プログラミング