Comment créer un histogramme de fréquence relative dans Matplotlib



Un histogramme de fréquence relative est un graphique qui affiche les fréquences relatives des valeurs dans un ensemble de données.

Vous pouvez utiliser la syntaxe suivante pour créer un histogramme de fréquence relative dans Matplotlib en Python :

import matplotlib.pyplot as plt
import numpy as np

#define plotting area
fig = plt.figure()
ax = fig.add_subplot(111)

#create relative frequency histogram
ax.hist(data, edgecolor='black', weights=np.ones_like(data) / len(data))

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : créer un histogramme de fréquence relative dans Matplotlib

Le code suivant montre comment créer un histogramme de fréquence régulière dans Matplotlib :

import numpy as np
import matplotlib.pyplot as plt

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create frequency histogram
fig = plt.figure()
ax = fig.add_subplot(111)
ax.hist(data, edgecolor='black')

L’axe des X montre les compartiments pour les valeurs de données et l’axe des Y montre la fréquence de chaque compartiment.

Nous pouvons utiliser le code suivant pour afficher les fréquences relatives sur l’axe des y :

import numpy as np
import matplotlib.pyplot as plt

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create relative frequency histogram
fig = plt.figure()
ax = fig.add_subplot(111)
ax.hist(data, edgecolor='black', weights=np.ones_like(data) / len(data))

L’axe des y affiche désormais les fréquences relatives.

Par exemple, il y a 15 valeurs totales dans l’ensemble de données.

Ainsi, au lieu d’afficher une fréquence de 4 sur l’axe des y pour la barre la plus haute du graphique, l’axe des y affiche désormais 4/15 = 0,2667 .

Nous pouvons également utiliser la fonction PercentFormatter() de Matplotlib pour afficher les valeurs sur l’axe des y sous forme de pourcentages :

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.ticker import PercentFormatter

#define data values
data = [8, 8, 9, 12, 13, 13, 14, 14, 15, 18, 22, 23, 24, 25, 30]

#create relative frequency histogram with percentages on y-axis
fig = plt.figure()
ax = fig.add_subplot(111)
ax.hist(data, edgecolor='black', weights=np.ones_like(data)*100 / len(data))
ax.yaxis.set_major_formatter(PercentFormatter())

Histogramme de fréquence relative Matplotlib

Notez que l’axe des y affiche désormais les fréquences relatives sous forme de pourcentages.

Ressources additionnelles

Les didacticiels suivants expliquent comment créer d’autres graphiques courants dans Matplotlib :

Comment modifier la couleur d’un histogramme Matplotlib
Comment ajuster la taille du bac dans les histogrammes Matplotlib
Comment créer un histogramme à partir de Pandas DataFrame

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *