Python入門トップページ


目次

  1. Matplotlib とは
  2. モジュールの読み込み
  3. 折れ線グラフ
  4. 散布図
  5. 円グラフ
  6. 棒グラフ
  7. 複数の棒グラフ
  8. 積み上げグラフ
  9. 任意の数学関数のグラフ描画
  10. 複数グラフの描画

Matplotlib によるグラフの描画

任意の数学関数のグラフ描画

Matplotlib では Mathematica や Sympy のように数学関数をそのままグラフ出力することはできないが,x と y に対応する値の配列さえ準備できれば折れ線グラフで任意の関数のグラフを描画可能である.まず,モジュールを読み込むが,pandas は必要ない.

モジュールを読み込むimport matplotlib.pyplot as plt
import numpy as np

目次に戻る

グラフを作成したい横軸の範囲と刻み幅を指定する.

横軸の範囲と刻み幅の指定x_min = 0
x_max = 8
x_step = 0.1

目次に戻る

横軸の値を格納する NumPy 配列を準備する.ただし範囲が 0 <= x <= 8 になるようにしている.

横軸の準備x = np.arange(x_min, x_max + x_step, x_step)
print(x)
[0.  0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.  1.1 1.2 1.3 1.4 1.5 1.6 1.7
 1.8 1.9 2.  2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3.  3.1 3.2 3.3 3.4 3.5
 3.6 3.7 3.8 3.9 4.  4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.  5.1 5.2 5.3
 5.4 5.5 5.6 5.7 5.8 5.9 6.  6.1 6.2 6.3 6.4 6.5 6.6 6.7 6.8 6.9 7.  7.1
 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 8. ]

目次に戻る

描画したい関数を記述する.ここでは,\( y = - x^2 + 8 x - 4 \) を描くことにする.

関数の準備y = - x**2 + 8 * x - 4
print(y)
[-4.   -3.21 -2.44 -1.69 -0.96 -0.25  0.44  1.11  1.76  2.39  3.    3.59
  4.16  4.71  5.24  5.75  6.24  6.71  7.16  7.59  8.    8.39  8.76  9.11
  9.44  9.75 10.04 10.31 10.56 10.79 11.   11.19 11.36 11.51 11.64 11.75
 11.84 11.91 11.96 11.99 12.   11.99 11.96 11.91 11.84 11.75 11.64 11.51
 11.36 11.19 11.   10.79 10.56 10.31 10.04  9.75  9.44  9.11  8.76  8.39
  8.    7.59  7.16  6.71  6.24  5.75  5.24  4.71  4.16  3.59  3.    2.39
  1.76  1.11  0.44 -0.25 -0.96 -1.69 -2.44 -3.21 -4.  ]

目次に戻る

グラフを描画する.

グラフの描画fig, ax = plt.subplots(1, 1, figsize=(6, 4))
ax.plot(x, y)
plt.show()
mpl-7-01

目次に戻る

複数のグラフをまとめて描画し,凡例も表示するには次のように入力すると良い.

複数のグラフ描画y1 = - x**2 + 8 * x - 4
y2 =  x**2 - 8 * x + 8
fig, ax = plt.subplots(1, 1, figsize=(6, 4))
ax.plot(x, y1, label='y1')
ax.plot(x, y2, label='y2')
ax.legend()
plt.show()
mpl-7-02

目次に戻る