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())
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