Matplotlib のグラフの種類

散布図

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()
この例の実行ボタンを作成 このコードが描くグラフ
散布図