Un bac est une plage qui représente la largeur d'une seule barre de l'histogramme le long de l'axe X. Vous pouvez également appeler cela l'intervalle. (Wikipedia les définit plus formellement comme des «catégories disjointes».)
La histogram
fonction Numpy ne dessine pas l'histogramme, mais elle calcule les occurrences de données d'entrée qui entrent dans chaque bac, qui à son tour détermine la zone (pas nécessairement la hauteur si les bacs ne sont pas de largeur égale) de chaque barre.
Dans cet exemple:
np.histogram([1, 2, 1], bins=[0, 1, 2, 3])
Il y a 3 casiers, pour des valeurs allant de 0 à 1 (sauf 1.), 1 à 2 (excl. 2) et 2 à 3 (incl. 3), respectivement. La façon dont Numpy définit ces bins est en donnant une liste de délimiteurs ( [0, 1, 2, 3]
) dans cet exemple, bien qu'il renvoie également les bins dans les résultats, car il peut les choisir automatiquement à partir de l'entrée, si aucun n'est spécifié. Si bins=5
, par exemple, il utilisera 5 bacs de largeur égale répartis entre la valeur d'entrée minimale et la valeur d'entrée maximale.
Les valeurs d'entrée sont 1, 2 et 1. Par conséquent, le bac "1 à 2" contient deux occurrences (les deux 1
valeurs) et le bac "2 à 3" contient une occurrence (le 2
). Ces résultats sont dans le premier élément du tuple retourné: array([0, 2, 1])
.
Puisque les cases ici sont de largeur égale, vous pouvez utiliser le nombre d'occurrences pour la hauteur de chaque barre. Une fois dessiné, vous auriez:
- une barre de hauteur 0 pour range / bin [0,1] sur l'axe X,
- une barre de hauteur 2 pour range / bin [1,2],
- une barre de hauteur 1 pour range / bin [2,3].
Vous pouvez tracer cela directement avec Matplotlib (sa hist
fonction retourne également les bins et les valeurs):
>>> 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()