9. matplotlib入門#

9.1. 達成目標#

ひとまず (1) サンプルからの散布図、(2) 関数からの折れ線グラフを作図できるようになろう。それ以外についてはその都度調べながらでOK。

9.2. 参考サイト#

9.3. チュートリアル#

# 適当なデータを用意
import numpy as np
datasets = np.array([[4,7], [8,10], [13,11], [17,14]])
x = datasets[:,0]
y = datasets[:,1]
# サンプルを点で描画
import matplotlib.pyplot as plt
plt.scatter(x, y, color="black", label="dataset")
plt.xlabel('x')
plt.ylabel('y')
plt.legend(loc="best")
plt.show()
../_images/35e60953d1a3b9ceaddb429cefa22d8561cb924a8187b8000e8573eddd1230a2.png
# 線グラフ描画するための適当な関数を用意
def function(x):
  return (x-10)**2

x2 = np.linspace(4, 17, 5) #定義域[4,17]で5等分したサンプルを用意
y2 = function(x2)           #サンプルにおけるyの値を準備
plt.plot(x2, y2, color="blue", linewidth=3, label="plot example")
plt.show()
../_images/8c02d3bd351242113eb1c26ba3738a8265d80694ff425d284e37aa246e9bc458.png
#サンプル数を増やしてもう一度実行
x2 = np.linspace(4, 17, 100)
y2 = function(x2)
plt.plot(x2, y2, color="blue", linewidth=3, label="plot example")
plt.show()
../_images/a08d5f0d355619b5c6dd6fb392587b1fb4a46b03d5f5b65aa11cb820f507eb8c.png
#複数のグラフを1つに描画
plt.scatter(x, y, color="black", label="dataset")
plt.xlabel('x')
plt.ylabel('y')
plt.plot(x2, y2, color="blue", linewidth=3, label="plot example")
plt.legend(loc="best")
plt.show()
../_images/cdc53605487124b33a7047e13bf26d78ddde238f4a33fba36f001542ca03b81f.png
# ラベル名等に日本語を使いたい場合は、japanize_matplotlib を使うと楽。
# 参考: https://pypi.org/project/japanize-matplotlib/

import japanize_matplotlib
plt.scatter(x, y, color="black", label="データセット")
plt.xlabel('x')
plt.ylabel('y')
plt.plot(x2, y2, color="blue", linewidth=3, label="プロット例")
plt.legend(loc="best")
plt.show()
../_images/68d38e242f40e39360c77fbecb0e11d281e2d59d59911b89c400dfcb71cb9b2b.png