散布図
ax.scatter で2つの変数の関係を表します。
はじめに
散布図は観測ごとに1つの点を描くので、2つの値が一緒に変化するかがわかります。色や大きさで3つ目の値も表せます。
(hours, score) の組がそれぞれ1つの点になります。c= はカラーマップ cmap を使って点数で点を色分けし、fig.colorbar がその目盛りを追加します。alpha で重なった点も見えるようになります。右上がりの傾向は、勉強時間が長いほど点数が高くなりやすいことを示しています。
インタラクティブ ビジュアライザー
点とノイズを増やしてみましょう。ノイズが少ないと点は一直線に並び、多いと傾向が見えにくくなります。
実行できる Matplotlib の例
Matplotlib
main.py
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng(1)
hours = rng.uniform(0, 10, 60)
score = 40 + 5 * hours + rng.normal(0, 6, 60)
fig, ax = plt.subplots(figsize=(7, 4))
points = ax.scatter(hours, score, c=score, cmap="viridis", s=50, alpha=0.8)
fig.colorbar(points, label="Score")
ax.set_xlabel("Hours studied")
ax.set_ylabel("Exam score")
ax.set_title("Study time and scores")
plt.show()
