Ответ 1
Буква представляет собой диапазон, который представляет ширину одного столбца гистограммы вдоль оси 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 для диапазона /bin [0,1] на оси X,
- строка высоты 2 для диапазона /bin [1,2],
- строка высоты 1 для диапазона /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()