กราฟกระจาย
แสดงความสัมพันธ์ระหว่างสองตัวแปรด้วย ax.scatter
บทนำ
กราฟกระจายวาดหนึ่งจุดต่อหนึ่งข้อมูล ทำให้เห็นว่าค่าสองค่าเปลี่ยนไปด้วยกันหรือไม่ สีและขนาดของจุดยังแสดงค่าที่สามได้ด้วย
แต่ละคู่ (hours, score) กลายเป็นหนึ่งจุด c= ระบายสีจุดตามคะแนนด้วยชุดสี cmap และ fig.colorbar เพิ่มแถบสเกล alpha ทำให้เห็นจุดที่ซ้อนกัน แนวโน้มที่ชี้ขึ้นแสดงว่ายิ่งเรียนมาก คะแนนมักยิ่งสูง
ตัวแสดงภาพแบบโต้ตอบ
เพิ่มจุดและสัญญาณรบกวน (noise) ถ้ารบกวนน้อย จุดจะเรียงเป็นแนว ถ้ารบกวนมาก จะมองเห็นแนวโน้มได้ยาก
ตัวอย่าง 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()
