Box plots
Le box plot, ou boîte à moustaches, est une représentation graphique qui permet de visualiser rapidement la distribution d’un jeu de données à travers ses statistiques principales. C’est un outil très utilisé en data science et en statistique pour comparer plusieurs groupes, analyser la dispersion, et identifier les valeurs aberrantes.
Un box plot affiche :
- Le premier quartile (Q1) : 25 % des données sont en dessous de cette valeur,
- La médiane (Q2) : 50 % des données sont en dessous,
- Le troisième quartile (Q3) : 75 % des données sont en dessous,
- Les moustaches : elles s’étendent jusqu’à une certaine distance des quartiles (souvent 1,5 fois l’intervalle interquartile),
- Les outliers : les points au-delà des moustaches, identifiés comme des valeurs atypiques.
Le box plot est particulièrement utile pour :
- Comparer plusieurs distributions sur un même graphique,
- Évaluer la symétrie ou l’asymétrie des données,
- Détecter des valeurs aberrantes facilement,
- Analyser la dispersion sans être influencé par les extrêmes.
Dans cette page, vous apprendrez à construire et interpréter un box plot, et à l’utiliser en Python avec des bibliothèques telles que matplotlib
, seaborn
ou plotly
.
Fonctions :
-
plt.boxplot()
: La fonction plt.boxplot() de Matplotlib permet de créer un boxplot (ou diagramme en boîte). Ce graphique est utilisé pour visualiser la répartition statistique d’un jeu de données en montrant la médiane, les quartiles et les valeurs extrêmes (outliers). Il est particulièrement utile pour repérer les distributions asymétriques, les valeurs aberrantes et pour comparer plusieurs ensembles de données.
Importation :
import matplotlib.pyplot as plt
Attributs :
Nom Type Description x array_like ou DataFrame Les données à afficher. Peut être un tableau 1D ou 2D, ou un DataFrame pandas. notch bool, optionnel Si True, crée une boîte en "encoche" autour de la médiane pour représenter un intervalle de confiance à 95 %. vert bool, optionnel Si True, les boîtes sont verticales (par défaut). Si False, elles sont horizontales. patch_artist bool, optionnel Si True, les boîtes sont remplies avec une couleur. widths float ou array_like, optionnel Largeur des boîtes. Peut être un nombre fixe ou un tableau de valeurs pour chaque boîte. meanline bool, optionnel Si True, une ligne représentant la **moyenne** est tracée dans la boîte. showmeans bool, optionnel Si True, la moyenne est affichée sur le boxplot (lorsqu'on utilise `meanline=True`). showfliers bool, optionnel Si True, les **valeurs aberrantes** (outliers) sont affichées. flierprops dict, optionnel Propriétés pour les outliers (ex. couleur, taille). Exemple de code :
import matplotlib.pyplot as plt import numpy as np # Générer des données aléatoires data = np.random.randn(1000) # Créer un boxplot plt.boxplot(data, notch=True, vert=False, patch_artist=True, showmeans=True) # Ajouter un titre et des labels plt.title("Boxplot de la distribution des données") plt.xlabel("Valeur") plt.ylabel("Distribution") # Afficher le boxplot plt.show()
Explication du code :
La ligne
import matplotlib.pyplot as plt
importe la bibliothèque matplotlib.pyplot, renommée ici enplt
, qui est utilisée pour créer des visualisations graphiques.La ligne
import numpy as np
importe la bibliothèque NumPy, renommée ici ennp
, utilisée pour effectuer des calculs numériques efficaces.Générer des données aléatoires
La fonction
np.random.randn(1000)
génère un tableau de 1000 valeurs aléatoires suivant une distribution normale centrée réduite (moyenne 0, écart-type 1).Ces données sont stockées dans la variable
data
.Créer un boxplot
La fonction
plt.boxplot()
crée un diagramme en boîte (boxplot) permettant de visualiser la distribution d’un jeu de données.Le paramètre
notch=True
ajoute une encoche pour indiquer l’intervalle de confiance autour de la médiane.Le paramètre
vert=False
oriente le boxplot horizontalement (par défaut, il est vertical).Le paramètre
patch_artist=True
permet de remplir la boîte avec de la couleur.Le paramètre
showmeans=True
affiche la moyenne des données à l’intérieur du boxplot.Ajouter un titre et des labels
La fonction
plt.title()
ajoute un titre au graphique (ici "Boxplot de la distribution des données").plt.xlabel()
définit le label de l’axe des abscisses (ici "Valeur").plt.ylabel()
définit le label de l’axe des ordonnées (ici "Distribution").Afficher le boxplot
La fonction
plt.show()
affiche le graphique à l’écran.