Бин - это диапазон, который представляет ширину одного столбца гистограммы по оси X. Вы также можете назвать это интервалом. (Википедия определяет их более формально как «непересекающиеся категории».)
Функция Numpy histogram
не рисует гистограмму, но вычисляет вхождения входных данных, которые попадают в каждую ячейку, которая, в свою очередь, определяет площадь (не обязательно высоту, если ячейки не одинаковой ширины) каждой полосы.
В этом примере:
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. Таким образом, ячейка «от 1 до 2» содержит два вхождения (два 1
значения), а ячейка «2–3» содержит одно вхождение ( 2
). Эти результаты в первый элемент в возвращаемом кортеже: array([0, 2, 1])
.
Поскольку ячейки здесь имеют одинаковую ширину, вы можете использовать количество вхождений для высоты каждой полосы. При розыгрыше у вас будет:
- полоса высоты 0 для диапазона / бункера [0,1] по оси X,
- полоса высотой 2 для диапазона / бункера [1,2],
- полоса высотой 1 для диапазона / бункера [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()