Python入門トップページ


目次

  1. Matplotlib とは
  2. モジュールの読み込み
  3. 折れ線グラフ
  4. 散布図
  5. 円グラフ
  6. 棒グラフ
  7. 複数の棒グラフ
  8. 積み上げグラフ
  9. 任意の数学関数のグラフ描画
  10. 複数グラフの描画
  11. LaTeX の数式やフォントを使用する

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

目次に戻る