知って得する、楽しいプログラミング。 - Python 10- グラフを書こう!関数編。
上記参考サイトをお手本にやっていきます。
matplotlibを使ってグラフを書いていますが、ちょっと複雑なグラフを関数を使って書いてみます。
ここで関数など計算しやすいようにnumpyも使います。なので最初にライブラリが使えるようにimportします。
import matplotlib.pyplot as plt
import numpy as np
2次関数 y=x**2(2乗)を (−10≦x<10)の範囲でグラフにします。まず、"x"の値を用意します。numpyで数字を作ります。
np.arange(始点,終点,間隔)を指定して数字を作ります。
x = np.arange(-10, 10, 1)
print(x)
これを実行すると
[-10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7
8 9]
と数字を作ってくれます。この作って"x"の値を"y"に入れてグラフ表示させます。
x = np.arange(-10, 10, 1)
y = x**2
plt.plot(x,y)
plt.show()
と2次曲線のグラフが描画されました。
組み込み関数、sin(),cos()を使って描画してみます。先ほどと同じようにnp.arange()を使ってまず"x"の数字を作ります。0から7まで0.1ごとに数字を"x"に入れていきます。
x = np.arange(0, 7, 0.1)
この"x"を使って"y"を計算させてグラフにします。sin()を使います。
x = np.arange(0, 7, 0.1)
plt.plot(x,np.sin(x))
plt.show()
表示できました。同じようにcos()も使ってみます。
x = np.arange(0, 7, 0.1)
plt.plot(x,np.sin(x),linestyle="--",label="sin")
plt.plot(x,np.cos(x),linestyle="dotted",label="cos")
plt.legend()
plt.show()
ここでは
linestyle="--",label="sin"
を付け加えています。これでグラフの線種を決めることができてラベルとして"sin"という名前をつけています。同じようにcos()も線種を決めてやりラベルをつけています。線種については以下と、点線に関しては"--"としてやれば指定できます。
"solid", "dashed", "dashdot", "dotted"
あと、
plt.legend()
を追加してやれば線種が何を示すかという凡例を表示することができます。実行すると、
と表示され、二つのグラフが重ねて表示でき、線種も変えてあるので見やすいグラフとなっています。
上記のサイトでは多項式関数等の関数に数字を入れグラフ表示させています。
ステップ関数を描画させてみます。ステップ関数とは入力が0を超えたら1を出力。それ以外は0を出力という関数です。
def stepFunction(x):
return np.array(x>0,dtype=np.int)
x = np.arange(-5,5,0.1)
y = stepFunction(x)
plt.plot(x,y)
plt.show()
def stepFunction(x):
return np.array(x>0,dtype=np.int)
で入力が0を超えたら1を出力させます。実行すると、
と表示されます。活性化関数として機械学習でも使われるものとなっています。