ディープラーニングの実験においては、
グラフ描画やデータの可視化が重要になる。
グラフ描画のためのライブラリMatplotlibを使えば、
簡単にグラフの描画やデータの可視化が簡単に行える。
#Matplotlibの基本的な使い方。
「y=2x」を例に、描画のために以下のような値を指定する。
import numpy as np
import matplotlib.pyplot as plt
# 描画範囲の指定
# x = np.arange(x軸の最小値, x軸の最大値, 刻み)
x = np.arange(0, 6, 0.1)
# 計算式
y = 2 * x
# 横軸の変数。縦軸の変数。
plt.plot(x, y)
# 描画実行
plt.show()
以下のように描画出力される。
計算式を変えてみる
実際に「y=2x」以外の計算式をグラフ描画してみる。
コードの「#計算式」の部分を変えればグラフが変わる。
「y = 2 * (x**2)」の場合
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
# 計算式
y = 2 * (x**2)
plt.plot(x, y)
plt.show()
「y = sin(x)」の場合
# 計算式
y = np.sin(x)
描画範囲を変えてみる。
今までの例では、描画範囲をnp.arange(0, 6, 0.1)
にした。
計算式はy=np.sin(x)
で、描画範囲を変えてみる。
x軸(-12~+12)の範囲を描画する
x = np.arange(-12, 12, 0.1)
ちなみに、
arangeで指定する場合はy軸は値で自動で設定してくれるので、
計算式をy = 4 * np.sin(x)
とするだけで、以下のようにy軸の範囲が広がる。
y軸の描画範囲を固定したい場合
以下のような実装だと、y軸はyの値によって変動する。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.show()
y軸の範囲を固定したいときは、
ylimでy軸の描画範囲を指定する。
x軸の範囲を固定するxlimも用意されている。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.ylim([-4,4])
plt.show()
刻みを変えてみる
以下のようなy=np.sin(x)
を描画するとき、
np.arange(0, 6, 0.1)
で描画範囲を指定していた。
arange
の第三引数で"数値の刻み"指定できる。
この例だと、0.1刻みで描画される。
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 6, 0.1)
y = np.sin(x)
plt.plot(x, y)
plt.show()
これを0.5刻みにすると以下のようになる。
角ばったような描画になる。
x = np.arange(0, 6, 0.5)
二つのグラフを描画するとき
sin関数とcos関数を同時に描画する。
import numpy as np
import matplotlib.pyplot as plt
# 描画範囲の指定
x = np.arange(0, 6, 0.1)
# 計算式
y1 = np.sin(x)
y2 = np.cos(x)
# グラフ描画設定
plt.plot(x, y1, label="sin") # y1グラフに、ラベル「sin」付与。
plt.plot(x, y2, linestyle="--", label="cos") # y2グラフに、ラベル「cos」付与。linestyleで線のスタイルを指定。
plt.xlabel("x")
plt.xlabel("y")
plt.title('sin & cos')
# ラベルの描画
plt.legend()
# グラフの描画実行
plt.show()