Бункер - це діапазон, який представляє ширину однієї смуги гістограми вздовж осі 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" містить один випадок (the 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()