ประเภทกราฟใน Matplotlib

กราฟกระจาย

แสดงความสัมพันธ์ระหว่างสองตัวแปรด้วย 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()
สร้างปุ่ม Run สำหรับตัวอย่างนี้ กราฟที่โค้ดนี้วาด
กราฟกระจาย