こんにちは、LinuCエバンジェリストこと、鯨井貴博@opensourcetechです。
今回は、Pythonのグラフ描画ライブラリであるMatplotlibを使ってみます。
事前準備
Python環境とNumpy・Matplotlibがインストールされている必要がありますので、インストールからする方は以下の記事を参考にインストールをおこなってください。
Homebrew & Python3(pip3)インストール on MacOS High Sierra - Opensourcetechブログ
AIを学ぶ1 〜Numpy & Matplotlib (Python) 編〜 - Opensourcetechブログ
Matplotlibによるグラフ描画
高校の数学で出てきた三角関数の正弦関数(sin)と余弦関数(cos)をグラフで描いてみます。
bash-3.2$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> X = np.arange(-11,11,0.1)
>>> Y1 = np.sin(X)
>>> Y2 = np.cos(X)
>>> plt.plot(X,Y1)
[<matplotlib.lines.Line2D object at 0x10a2d9160>]
>>> plt.plot(X,Y2)
[<matplotlib.lines.Line2D object at 0x10088df60>]
>>> plt.show()
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> X = np.arange(-11,11,0.1)
>>> Y1 = np.sin(X)
>>> Y2 = np.cos(X)
>>> plt.plot(X,Y1)
[<matplotlib.lines.Line2D object at 0x10a2d9160>]
>>> plt.plot(X,Y2)
[<matplotlib.lines.Line2D object at 0x10088df60>]
>>> plt.show()
そして、描画したグラフが以下です。
また、グラフにラベルやタイトル、線の種類などのカスタマイズは以下のようにします。
bash-3.2$ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> X = np.arange(-11,11,0.1)
>>> Y1 = np.sin(X)
>>> Y2 = np.cos(X)
>>> plt.plot(X,Y1,label="sin")
[<matplotlib.lines.Line2D object at 0x113b97208>]
>>> plt.plot(X,Y2,linestyle="--",label="cos")
[<matplotlib.lines.Line2D object at 0x113b97358>]
>>> plt.xlabel("X label")
Text(0.5, 0, 'X label')
>>> plt.ylabel("Y label")
Text(0, 0.5, 'Y label')
>>> plt.title('sin & cos graphs')
Text(0.5, 1.0, 'sin & cos graphs')
>>> plt.show()
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> X = np.arange(-11,11,0.1)
>>> Y1 = np.sin(X)
>>> Y2 = np.cos(X)
>>> plt.plot(X,Y1,label="sin")
[<matplotlib.lines.Line2D object at 0x113b97208>]
>>> plt.plot(X,Y2,linestyle="--",label="cos")
[<matplotlib.lines.Line2D object at 0x113b97358>]
>>> plt.xlabel("X label")
Text(0.5, 0, 'X label')
>>> plt.ylabel("Y label")
Text(0, 0.5, 'Y label')
>>> plt.title('sin & cos graphs')
Text(0.5, 1.0, 'sin & cos graphs')
>>> plt.show()
描いたグラフは、以下のようになります。