Um bin é o intervalo que representa a largura de uma única barra do histograma ao longo do eixo X. Você também pode chamar isso de intervalo. (A Wikipedia os define mais formalmente como "categorias disjuntas".)
A histogram
função Numpy não desenha o histograma, mas calcula as ocorrências de dados de entrada que caem dentro de cada compartimento, que por sua vez determina a área (não necessariamente a altura se os compartimentos não forem de largura igual) de cada barra.
Neste exemplo:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
Existem 3 bins, para valores que variam de 0 a 1 (excl. 1.), 1 a 2 (excl. 2) e 2 a 3 (incl. 3), respectivamente. A forma como Numpy define esses bins é dando uma lista de delimitadores ( [0, 1, 2, 3]
) neste exemplo, embora também retorne os bins nos resultados, já que pode escolhê-los automaticamente na entrada, se nenhum for especificado. E sebins=5
, por exemplo, ele usar 5 caixas de largura igual, espalhadas entre o valor de entrada mínimo e o valor de entrada máximo.
Os valores de entrada são 1, 2 e 1. Portanto, bin "1 a 2" contém duas ocorrências (os dois 1
valores) e bin "2 a 3" contém uma ocorrência (o 2
). Estes resultados são no primeiro item na tupla retornada: array([0, 2, 1])
.
Uma vez que as caixas aqui são de largura igual, você pode usar o número de ocorrências para a altura de cada barra. Quando desenhado, você teria:
- uma barra de altura 0 para intervalo / bin [0,1] no eixo X,
- uma barra de altura 2 para intervalo / bin [1,2],
- uma barra de altura 1 para range / bin [2,3].
Você pode plotar isso diretamente com Matplotlib (sua hist
função também retorna os bins e os valores):
>>> 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()