【Python】 グラフを描画してみる

ICT

 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()

 つづく。

スポンサーリンク
ふシゼン
タイトルとURLをコピーしました