Comment tracer un histogramme pour une liste de données dans Matplotlib

Suraj Joshi 16 novembre 2020
Comment tracer un histogramme pour une liste de données dans Matplotlib

Nous pouvons utiliser la méthode plt.hist() pour tracer des histogrammes à partir d’une liste de données.

Syntaxe de la méthode Maplotlib hist()

matplotlib.pyplot.hist(x,
                       bins=None,
                       range=None,
                       density=False,
                       weights=None,
                       cumulative=False,
                       bottom=None,
                       histtype='bar',
                       align='mid',
                       orientation='vertical',
                       rwidth=None,
                       log=False,
                       color=None,
                       label=None,
                       stacked=False, *,
                       data=None,
                       **kwargs)

Exemples : Tracer un histogramme en utilisant Matplotlib à partir de la liste des données

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]

n, bins, patches = plt.hist(data)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram")
plt.show()

Production:

Histogramme dans Matplotlib avec les bacs par défaut

Ici, nous avons des valeurs dans une liste “données”. Nous passons cette liste dans la commande plt.hist() pour générer un histogramme à partir de la liste de valeurs. La méthode plt.hist() retourne la fréquence des bacs, les points terminaux des bacs, et une liste des correctifs utilisés pour créer l’histogramme.

Dans l’exemple, nous n’avons pas défini la valeur du paramètre bins. Par défaut, le nombre de bins est 10, donc le script crée l’histogramme à partir de la liste de données avec 10 bins.

De plus, nous pouvons contrôler le nombre de cases en utilisant la commande bins lors de la création de l’histogramme.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20)
plt.xlabel("Values")
plt.ylabel("Frequency")
plt.title("Histogram with 20 bins")
plt.show()

Production:

Définir le nombre de casiers dans l’histogramme dans Matplotlib

Ce processus affiche l’histogramme réalisé à partir de 20 bacs, résultat de la division égale de toute la gamme des valeurs de la liste.

Par défaut, la valeur du paramètre density est fixée à False ; cela signifie que nous obtenons le tracé du nombre exact de chaque casier dans l’histogramme. Si nous voulons tracer la courbe des densités de probabilité de chaque case de la liste, nous devons régler la density sur True. Si la density est True, la zone sous l’histogramme est intégrée à 1.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True)
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Histogram with Probability Plot")
plt.show()

Production:

Histogramme avec tracé de probabilité dans Matplotlib

Nous pouvons maintenant définir la couleur de l’histogramme en utilisant le paramètre color.

import matplotlib.pyplot as plt

data = [3, 4, 2, 3, 4, 5, 4, 7, 8, 5, 4, 6, 2, 1, 0, 9, 7, 6, 6, 5, 4]
n, bins, patches = plt.hist(data, bins=20, density=True, color="red")
plt.xlabel("Weight")
plt.ylabel("Probability")
plt.title("Red Histogram Plot")
plt.show()

Production:

Graphique de l’histogramme en rouge dans Matplotlib

Cette méthode génère l’histogramme avec la couleur rouge.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Matplotlib Visualizations