Créer des diagrammes en boîte personnalisables avec Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introduction

Le diagramme en boîte est une représentation graphique d'un groupe de données à travers leurs quartiles. Il est utilisé pour montrer la distribution des données sur la base de leur résumé à cinq chiffres : minimum, premier quartile, médiane, troisième quartile et maximum. Dans ce tutoriel, nous allons apprendre à créer et personnaliser un diagramme en boîte à l'aide de la bibliothèque Matplotlib en Python.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet d'adresses pour accéder au carnet Jupyter pour pratiquer.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez des commentaires après la session, et nous réglerons rapidement le problème pour vous.

Importation des bibliothèques et génération de données

Nous commençons par importer les bibliothèques nécessaires et en générer des données factices.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cbook as cbook

## Générer des données factices
np.random.seed(19680801)
data = np.random.lognormal(size=(37, 4), mean=1.5, sigma=1.75)
labels = list('ABCD')

Calcul des statistiques du diagramme en boîte

La fonction boxplot_stats() du module matplotlib.cbook calcule les statistiques nécessaires pour le diagramme en boîte. Nous passons les données et les étiquettes en tant que paramètres.

## Calcul des statistiques du diagramme en boîte
stats = cbook.boxplot_stats(data, labels=labels, bootstrap=10000)

Personnaliser les statistiques du diagramme en boîte

Nous pouvons modifier n'importe laquelle des statistiques du diagramme en boîte calculées dans l'Étape 2. Dans cet exemple, nous définissons la médiane de chaque ensemble sur la médiane de toutes les données et doublons les moyennes.

for n in range(len(stats)):
    stats[n]['med'] = np.median(data)
    stats[n]['mean'] *= 2

Créer un diagramme en boîte de base

Nous pouvons créer un diagramme en boîte de base en appelant la fonction bxp() de Matplotlib. Nous passons les statistiques calculées en tant que paramètre.

## Créer un diagramme en boîte de base
plt.bxp(stats)
plt.show()

Basculer l'affichage des différents éléments

Nous pouvons basculer l'affichage des différents éléments du diagramme en boîte en utilisant divers paramètres dans la fonction bxp(). Dans cet exemple, nous montrons comment afficher ou masquer la moyenne, la boîte, les bouchons, les encoches et les points aberrants.

## Basculer l'affichage des différents éléments
plt.bxp(stats, showmeans=True, showbox=False, showcaps=False, shownotches=True, showfliers=False)
plt.show()

Personnaliser l'affichage des différents éléments

Nous pouvons personnaliser l'affichage des différents éléments du diagramme en boîte en utilisant divers paramètres dans la fonction bxp(). Dans cet exemple, nous montrons comment personnaliser la boîte, la médiane, les points aberrants, le point moyen et la ligne moyenne.

## Personnaliser l'affichage des différents éléments
boxprops = dict(linestyle='--', linewidth=3, color='darkgoldenrod')
flierprops = dict(marker='o', markerfacecolor='green', markersize=12, linestyle='none')
medianprops = dict(linestyle='-.', linewidth=2.5, color='firebrick')
meanpointprops = dict(marker='D', markeredgecolor='black', markerfacecolor='firebrick')
meanlineprops = dict(linestyle='--', linewidth=2.5, color='purple')

plt.bxp(stats, boxprops=boxprops, flierprops=flierprops, medianprops=medianprops, meanprops=meanpointprops, meanline=True, showmeans=True)
plt.show()

Sommaire

Dans ce tutoriel, nous avons appris à créer et personnaliser un diagramme en boîte à l'aide de la bibliothèque Matplotlib en Python. Nous avons également appris à basculer l'affichage des différents éléments et à personnaliser leur apparence. Les diagrammes en boîte sont un outil utile pour visualiser la distribution des données et identifier les valeurs aberrantes.