Matplotlib - Histogramme

Un histogramme est une représentation précise de la distribution des données numériques. Il s'agit d'une estimation de la distribution de probabilité d'une variable continue. C'est une sorte de graphique à barres.

Pour créer un histogramme, procédez comme suit:

  • Bin la plage de valeurs.
  • Divisez toute la plage de valeurs en une série d'intervalles.
  • Comptez le nombre de valeurs comprises dans chaque intervalle.

Les classes sont généralement spécifiées comme des intervalles consécutifs et sans chevauchement d'une variable.

le matplotlib.pyplot.hist()function trace un histogramme. Il calcule et dessine l'histogramme de x.

Paramètres

Le tableau suivant répertorie les paramètres d'un histogramme -

X tableau ou séquence de tableaux
bacs entier ou séquence ou 'auto', facultatif
paramètres facultatifs
intervalle La plage inférieure et supérieure des bacs.
densité Si True, le premier élément du tuple de retour sera les décomptes normalisés pour former une densité de probabilité
cumulatif Si True, alors un histogramme est calculé où chaque casier donne les nombres dans ce casier plus tous les casiers pour des valeurs plus petites.
histtype Le type d'histogramme à dessiner. La valeur par défaut est «bar»
  • «bar» est un histogramme de type barre traditionnel. Si plusieurs données sont fournies, les barres sont disposées côte à côte.
  • «barstacked» est un histogramme de type barre où plusieurs données sont empilées les unes sur les autres.
  • 'step' génère un tracé linéaire par défaut non rempli.
  • 'stepfilled' génère un tracé linéaire qui est rempli par défaut.

L'exemple suivant trace un histogramme des notes obtenues par les élèves d'une classe. Quatre bacs, 0-25, 26-50, 51-75 et 76-100 sont définis. L'histogramme montre le nombre d'élèves appartenant à cette plage.

from matplotlib import pyplot as plt
import numpy as np
fig,ax = plt.subplots(1,1)
a = np.array([22,87,5,43,56,73,55,54,11,20,51,5,79,31,27])
ax.hist(a, bins = [0,25,50,75,100])
ax.set_title("histogram of result")
ax.set_xticks([0,25,50,75,100])
ax.set_xlabel('marks')
ax.set_ylabel('no. of students')
plt.show()

Le tracé apparaît comme indiqué ci-dessous -