pythonでグラフを描く(3)-数式を描く

数式に基づいてグラフを描く

データだけでなく数式をグラフに描きたいこともある.matplotlibはnumpy形式の数式をそのまま使うことで簡単に関数のグラフを描写できる.

# coding: UTF-8
import matplotlib.pyplot as plt
import numpy as np

def f(x):
    return np.sin(x)

x1 = np.arange(0.0, 12.0001, 0.5)
x2 = np.arange(0.0, 12.0001, 0.1)

plt.plot(x1, f(x1), 'b', x2, f(x2 + 2),'r')
plt.show()

f:id:TKYMa:20151123190647p:plain

x1は0から12まで0.5ずつ配列を作成しているためにグラフにしてみると青の曲線のようにギザギザなsinになっているが,x2は0.1ずつ配列を作成しているためにかなり滑らかなsinになっている.間隔を指定しない場合はと1ずつの配列ができるので作成するグラフ次第ではガタガタのグラフが出来上がる.

さて何気に2つ以上関数のグラフを描いている.plot中で複数の系列のグラフを描くことも,もちろんmatplotlibではできる.見てのとおり1つ目のグラフを指定した後に続けて2つ目のグラフを書けばよい.また

plt.plot(x1, f(x1), 'b')
plt.plot(x2, f(x2 + 2),'r') plt.show()

のように行ごとに分けても可能だ.ただしshow()するとリセットされるので最後にshow()をするように.