JupyterLab/Jupyter Notebookを起動しておくとWeb上の計算機として使える、というのが前回の記事。
少し手を加えればグラフも描ける。
以前描画したグラフは、Jupyter Notebookだと下のコード。
最初の2行は、
- 図やグラフを描画するためのmatplotlibライブラリ(のpyplotモジュール)
- 数値計算のNumPyライブラリ
を使うために必要。
その下の部分を変えていけば、いろいろなグラフを描ける。
plt.show()
で、Runボタン(実行ボタン)を押せばビューアが起動する。
以前、こちらのページで描画したグラフを少し変えたものが、下図。
x = np.linspace(2,8,50)
y = x**2
y2 = (x-10)**2
plt.plot(x,y,":",lw=5,color="purple",label="age")
plt.plot(x,y2,"-",color="red",label="sage")
plt.xlabel("x")
plt.ylabel("y")
plt.title("title")
plt.legend()
plt.grid()
plt.show()
X軸、Y軸のラベルとタイトルを付けることができる。
plt.grid()
で、グリッド描画。
plt.plot()の中のcolorは色指定。lw(=linewidth)は線の太さ。
-
を:
に変えると実線が点線に変わる。
--
でダッシュ、-.
でダッシュ・ドット。
legendは凡例。plt.plot()の中のlabelがラベル。
**2
が2乗で、紫色の曲線がy=x2。
赤色がy=(x-10)2。y=x2を右へ10平行移動。
x軸 linspace()、arange()
少々分かりにくいのが、
xのlinspace()
。
NumPyライブラリの関数で、例えば、
np.linspace(2,8,50)
の場合、x=2~8の間を等分に(始点・終点含めて)50の点に分割してくれる。
デフォルトが50なので、
x = np.linspace(2,8)
でも同じ。
返り値は配列で以下のとおり。
50の点座標(x、y)を計算して、plt.plot()でつなげると曲線に見える。
が、要素数(点の数)が少ないとカクカクの折れ線になる。
ageage。
x = np.linspace(2,80,5)
y = x**2
y2 = (x-10)**2
plt.plot(x,y,":",lw=5,color="purple")
plt.plot(x,y2,"-.",color="red")
plt.show()
xの指定にlinspace()ではなくarange()が使われることもあるが、こちらは要素数ではなく、ステップ幅(公差)。
例えば、
np.arange(2,80,5)
の場合、公差5。
返り値は配列で以下のとおり。
x=~、y=~を変えていけば、いろいろなグラフを描ける。
例えば、np.sin()、np.cos()、np.pi(=π)を使うとsin曲線、cos曲線が描ける。
x = np.linspace(0,np.pi,50)
y = np.sin(x)
y2 = np.cos(x)
plt.plot(x,y,"-",color="blue")
plt.plot(x,y2,"-",color="orange")
plt.show()
つづく。