画像出典:Matplotlib: Python plotting — Matplotlib 3.0.2 documentationより引用
今回、pythonの外部モジュールであるmatplotlibの基礎を学びながらグラフの描画の仕方について確認していきます。
matplotlibとは?
Matplotlib: Python plotting — Matplotlib 3.0.2 documentation
matolotlibとはプログラミング言語であるPythonと計算ライブラリであるNumpyのためのグラフ描画ライブラリです。matolotlibを利用することにより、グラフの描画や画像の表示、アニメーションの作成などを行うことが可能です。
人工知能を扱う際はデータを可視化することが大切になります。そのため、機械学習、深層学習を学習する方はmatplotlibの使い方を知る必要があります。
matplotlibを使用する際はNumPyと組み合わせ使うためNumPyを知らない方は以下の記事も参照してみてください。
NumPyとmatplotlibでグラフを描画するよ。
まずは、Numpyの時と同様にmatplotlibのpyplotというモジュールをインポートします。
コードを書いていく際にいちいちnumpy 、matplotlibと記載するのは面倒なので、
インポートする際にnp、pltと略して使うのが通例です。
また、Jupyter notebookでmatplotlibを使用する際は先頭に
%matplotlib inlineを記載する必要があります。
%matplotlib inline import numpy as np #numpyをインポート import matplotlib.pyplot as plt
linspace関数
グラフを描画するために今回はlinspace関数を使用します。
linspace関数を使うと指定した範囲の数字を50等間隔に区切ることができます。
- linspace関数・・・指定した数字の範囲の中で50等間隔に区切ってくれる。
区切られた数字はNumpyの配列になります。
import numpy as np x = np.linspace(0, 10) #0〜10を50等間隔に区切る。 print(x) print(len(x))
今回は数字の範囲を1〜10とします。
これをlinspace関数を利用して結果をprintで表示させると以下のように50等間隔に区切られNunPyの配列になります。
[ 0. 0.20408163 0.40816327 0.6122449 0.81632653 1.02040816 1.2244898 1.42857143 1.63265306 1.83673469 2.04081633 2.24489796 2.44897959 2.65306122 2.85714286 3.06122449 3.26530612 3.46938776 3.67346939 3.87755102 4.08163265 4.28571429 4.48979592 4.69387755 4.89795918 5.10204082 5.30612245 5.51020408 5.71428571 5.91836735 6.12244898 6.32653061 6.53061224 6.73469388 6.93877551 7.14285714 7.34693878 7.55102041 7.75510204 7.95918367 8.16326531 8.36734694 8.57142857 8.7755102 8.97959184 9.18367347 9.3877551 9.59183673 9.79591837 10. ] 50
続いてlinspaceで区切った数値に2をかけてy座標の数値を作成します。
y = 2 * xでy座標の値を出します。
import numpy as np import matplotlib.pyplot as plt x = np.linspace(1, 10) y = 2 * x plt.plot(x, y) plt.show()
グラフにラベルやタイトルを挿入
続いて、グラフにラベルやタイトルなどを挿入していきます。
- plt.xlabel ・・・ X軸のラベル名
- plt.ylabel ・・・ Y軸のラベル名
- plt.title ・・・ グラフのタイトル
- plt.legend() ・・・ 凡例を表示
- plt.show()・・・グラフの表示
import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10) y1 = 2 * x y2 = 3 * x plt.xlabel("date") plt.ylabel("PV") plt.title("title") plt.plot(x, y1, label="A blog") plt.plot(x, y2, label="B blog", linestyle="dashed") plt.legend() plt.show()
再度、plt.show()を使ってグラフを表示させます。
グラフの結果は以下のようになります。
linestyleなどを使用することにより線の種類や太さを選択することができます。
興味のある方は以下のサイトを参照してみてください。
機械学習、深層学習を学習していく上で線形代数やベクトルなどの数学の知識を学ぶ必要があります。
高校数学のテストのように紙に書いて計算していく必要はなくても、Numpyを活用しながら基礎的な数学を学習することがAI学習に向けての第一歩になりそうです。