8. matplotlib入門

8.1. 達成目標

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

8.2. 参考サイト

8.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/intro_matplotlib_5_0.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/intro_matplotlib_6_0.png
#サンプル数を増やしてもう一度実行
x2 = np.linspace(4, 17, 100)
y2 = function(x2)
plt.plot(x2, y2, color="blue", linewidth=3, label="plot example")
plt.show()
../_images/intro_matplotlib_7_0.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/intro_matplotlib_8_0.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/intro_matplotlib_9_0.png