ฮิสโทแกรม
ดูว่าข้อมูลกระจายตัวอย่างไรด้วยการจัดค่าเป็นช่อง
บทนำ
ฮิสโทแกรมแบ่งช่วงของค่าออกเป็นช่อง (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()
