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

ฮิสโทแกรม

ดูว่าข้อมูลกระจายตัวอย่างไรด้วยการจัดค่าเป็นช่อง

บทนำ

ฮิสโทแกรมแบ่งช่วงของค่าออกเป็นช่อง (bin) แล้วนับว่ามีค่ากี่ค่าตกอยู่ในแต่ละช่อง ทำให้เห็นว่าค่ากระจุกอยู่ตรงไหนและกระจายกว้างแค่ไหน

bins กำหนดว่าจะแบ่งช่วงเป็นกี่แท่ง น้อยเกินไปจะซ่อนรูปร่าง มากเกินไปจะขรุขระ edgecolor แบ่งขอบแท่งให้ชัด ax.axvline วาดเส้นแนวตั้ง ในที่นี้ที่ค่าเฉลี่ย เพื่อบอกจุดกึ่งกลางของข้อมูล

ตัวแสดงภาพแบบโต้ตอบ

ลองเปลี่ยนจำนวนช่อง (bin) และการแจกแจง ช่องน้อยเกินไปจะซ่อนรูปร่างข้อมูล มากเกินไปจะทำให้กราฟขรุขระ

ตัวอย่าง Matplotlib ที่รันได้

Matplotlib
รันโค้ด →
main.py
import matplotlib.pyplot as plt
import numpy as np

rng = np.random.default_rng(3)
heights = rng.normal(165, 8, 500)

fig, ax = plt.subplots(figsize=(7, 4))
ax.hist(heights, bins=20, color="#6366f1", edgecolor="white")
ax.axvline(heights.mean(), color="#ef4444", linestyle="--", label=f"mean {heights.mean():.1f} cm")
ax.set_xlabel("Height (cm)")
ax.set_ylabel("People")
ax.set_title("Heights of 500 people")
ax.legend()
plt.show()
สร้างปุ่ม Run สำหรับตัวอย่างนี้ กราฟที่โค้ดนี้วาด
ฮิสโทแกรม