Một thùng là phạm vi đại diện cho chiều rộng của một thanh đơn của biểu đồ dọc theo trục X. Bạn cũng có thể gọi đây là khoảng thời gian. (Wikipedia định nghĩa chúng chính thức hơn là "các danh mục rời rạc".)
Hàm Numpy histogram
không vẽ biểu đồ, nhưng nó tính toán sự xuất hiện của dữ liệu đầu vào trong mỗi thùng, từ đó xác định diện tích (không nhất thiết là chiều cao nếu các thùng không có chiều rộng bằng nhau) của mỗi thanh.
Trong ví dụ này:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
Có 3 thùng, cho các giá trị nằm trong khoảng từ 0 đến 1 (excl 1.), 1 đến 2 (ví dụ 2) và 2 đến 3 (bao gồm 3), tương ứng. Cách Numpy định nghĩa các thùng này nếu bằng cách đưa ra một danh sách các dấu phân cách ( [0, 1, 2, 3]
) trong ví dụ này, mặc dù nó cũng trả về các thùng trong kết quả, vì nó có thể chọn chúng tự động từ đầu vào, nếu không được chỉ định. Nếu bins=5
, ví dụ, nó sẽ sử dụng 5 thùng của bằng chiều rộng chênh lệch giữa giá trị đầu vào tối thiểu và giá trị đầu vào tối đa.
Các giá trị đầu vào là 1, 2 và 1. Do đó, bin "1 đến 2" chứa hai lần xuất hiện (hai 1
giá trị) và bin "2 đến 3" chứa một lần xuất hiện (the 2
). Những kết quả này nằm trong mục đầu tiên trong bộ dữ liệu được trả về : array([0, 2, 1])
.
Vì các thùng ở đây có chiều rộng bằng nhau, bạn có thể sử dụng số lần xuất hiện cho chiều cao của mỗi thanh. Khi vẽ, bạn sẽ có:
- một thanh có chiều cao 0 cho phạm vi / bin [0,1] trên trục X,
- một thanh có chiều cao 2 cho phạm vi / thùng [1,2],
- một thanh có chiều cao 1 cho phạm vi / thùng [2,3].
Bạn có thể vẽ biểu đồ này trực tiếp với Matplotlib ( hist
chức năng của nó cũng trả về các thùng và các giá trị):
>>> 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()