Matplotlib で基本的なグラフを描く方法
Matplotlib を使うと、簡単に様々なグラフを描くことができます。
ここでは、最初のグラフとして、下のような簡単なグラフを書いてみましょう。
Matplotlib のインストール
ここでは適当なディレクトリ内に仮想環境 env1 を作成し、その環境内に matplotlib をインストールしてみましょう。
まずは、適当なディレクトリに移動して次のコマンドで仮想環境 env1 に入ります。
python3 -m venv env1
. env1/bin/activate
pip で matplotlib をインストールします。
pip install matplotlib
Matplotlib を使った簡単なグラフの表示
次にエディタで test1.py というファイル内に、次の内容を入力します。(左端は単なる行番号なので、入力する必要はありません)
import matplotlib.pyplot as plt
x = [0, 1, 2, 3, 4, 5]
y = [1, 2, 4, 3, 5, 10]
fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()
ax.set(xlabel='x', ylabel='y', title='Hello!')
plt.show()
test1.py を保存したら、実行してみましょう。
python3 test1.py
書き間違い等がなければ、新しいウィンドウが開き、次のようなグラフが表示されるはずです。
シンプルなコードですが、簡単に説明していきます。
import matplotlib.pyplot as plt
matplotlib ライブラリの pyplot はグラフを表示するためのインターフェイスとなります。これを plt という名前で取り込んでいます。
ここでは折れ線グラフを描画します。
x = [0, 1, 2, 3, 4, 5]
y = [1, 2, 4, 3, 5, 10]
上のように x, y 座標を指定することで、(x座標, y座標)=(0,1), (1,2), (2,4), ... という点を結ぶ折れ線グラフを描画します。
Python 標準の配列、または NumPy の配列データで座標を渡します。
fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()
ax.set(xlabel='x', ylabel='y', title='Hello!')
plt.show()
6行目の subplots() 関数でグラフを作成します。この関数は二つのオブジェクトを返します。 ひとつ目は、トップレベルの図を表すFigure オブジェクトである fig。今回はここでは使用しません。
二つ目は、ひとつのグラフを表すAxes オブジェクトである ax です。
ax の plot() で折れ線グラフであることを指定、 grid() で縦横のグリッドを表示、set() でグラフのタイトル、x 軸、y軸のラベルを指定しています。
最後に、show() を呼ぶことでグラフのウィンドウを表示しています。このウィンドウを閉じるまで show() の呼び出しはブロックされます。
以上で、matplotlib を使った、簡単な折れ線グラフの表示方法を説明しました。