ถังขยะคือช่วงที่แสดงถึงความกว้างของแท่งเดียวของฮิสโตแกรมตามแกน X คุณยังสามารถเรียกช่วงเวลานี้ได้ (Wikipedia ให้คำจำกัดความอย่างเป็นทางการมากขึ้นว่าเป็น "หมวดหมู่ที่ไม่ปะติดปะต่อ")
histogram
ฟังก์ชันNumpy ไม่ได้วาดฮิสโตแกรม แต่จะคำนวณการเกิดขึ้นของข้อมูลอินพุตที่อยู่ในแต่ละถังซึ่งจะกำหนดพื้นที่ (ไม่จำเป็นต้องเป็นความสูงหากถังขยะมีความกว้างไม่เท่ากัน) ของแต่ละแท่ง
ในตัวอย่างนี้:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
มี 3 ถังสำหรับค่าตั้งแต่ 0 ถึง 1 (ไม่รวม 1), 1 ถึง 2 (ไม่รวม 2) และ 2 ถึง 3 (รวม 3) ตามลำดับ วิธีที่ Numpy กำหนดถังขยะเหล่านี้หากให้รายการตัวคั่น ( [0, 1, 2, 3]
) ในตัวอย่างนี้แม้ว่าจะส่งคืนถังขยะในผลลัพธ์ด้วยก็ตามเนื่องจากสามารถเลือกถังขยะเหล่านี้ได้โดยอัตโนมัติจากอินพุตหากไม่มีการระบุ bins=5
ตัวอย่างเช่นหากจะใช้ 5 ถังขยะที่มีความกว้างเท่ากันกระจายระหว่างค่าอินพุตต่ำสุดและค่าอินพุตสูงสุด
ค่าที่ป้อนคือ 1, 2 และ 1 ดังนั้น bin "1 ถึง 2" จึงมีสองเหตุการณ์ (สอง1
ค่า) และ bin "2 ถึง 3" มีหนึ่งรายการ (the 2
) ผลการเหล่านี้อยู่ในรายการแรกใน tuple array([0, 2, 1])
กลับมาว่า:
เนื่องจากถังขยะมีความกว้างเท่ากันคุณจึงใช้จำนวนครั้งที่เกิดขึ้นสำหรับความสูงของแต่ละแท่งได้ เมื่อวาดคุณจะมี:
- แถบความสูง 0 สำหรับ range / bin [0,1] บนแกน X
- แถบความสูง 2 สำหรับ range / bin [1,2],
- แถบความสูง 1 สำหรับ range / bin [2,3]
คุณสามารถพล็อตสิ่งนี้ได้โดยตรงด้วย Matplotlib ( hist
ฟังก์ชันของมันยังส่งคืนถังขยะและค่า):
>>> import matplotlib.pyplot as plt
>>> plt.hist([1, 2, 1], bins=[0, 1, 2, 3])
(array([0, 2, 1]), array([0, 1, 2, 3]), <a list of 3 Patch objects>)
>>> plt.show()