Création de boîtes à partir de barres d'erreur à l'aide de PatchCollection

PythonPythonBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à créer des diagrammes en boîte à partir de barres d'erreur à l'aide de PatchCollection. Les diagrammes en boîte sont utiles pour afficher la plage et la distribution des données. En ajoutant un patch rectangulaire défini par les limites des barres dans les directions x et y, nous pouvons créer un graphique de barres d'erreur plus attrayant visuellement.

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 de notes pour accéder à Jupyter Notebook pour la pratique.

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

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

Importation des bibliothèques

Nous allons tout d'abord importer les bibliothèques nécessaires, y compris numpy et matplotlib.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.collections import PatchCollection
from matplotlib.patches import Rectangle

Préparer les données

Nous allons ensuite préparer les données pour notre diagramme en boîte. Nous allons créer des données fictives pour les valeurs x et y, ainsi que pour les valeurs d'erreur.

## Nombre de points de données
n = 5

## Données fictives
np.random.seed(19680801)
x = np.arange(0, n, 1)
y = np.random.rand(n) * 5.

## Erreurs fictives (au-dessus et en-dessous)
xerr = np.random.rand(2, n) + 0.1
yerr = np.random.rand(2, n) + 0.2

Créer une fonction pour les boîtes d'erreur

Nous allons maintenant créer une fonction appelée make_error_boxes qui créera le patch rectangulaire défini par les limites des barres dans les directions x et y.

def make_error_boxes(ax, xdata, ydata, xerror, yerror, facecolor='r',
                     edgecolor='none', alpha=0.5):

    ## Boucle sur les points de données ; créer une boîte à partir des erreurs à chaque point
    errorboxes = [Rectangle((x - xe[0], y - ye[0]), xe.sum(), ye.sum())
                  for x, y, xe, ye in zip(xdata, ydata, xerror.T, yerror.T)]

    ## Créer une collection de patches avec la couleur/alpha spécifiée
    pc = PatchCollection(errorboxes, facecolor=facecolor, alpha=alpha,
                         edgecolor=edgecolor)

    ## Ajouter la collection aux axes
    ax.add_collection(pc)

    ## Tracer les barres d'erreur
    artists = ax.errorbar(xdata, ydata, xerr=xerror, yerr=yerror,
                          fmt='none', ecolor='k')

    return artists

Créer la figure et les axes

Nous allons maintenant créer la figure et les axes pour notre diagramme en boîte à l'aide de plt.subplots().

## Créer la figure et les axes
fig, ax = plt.subplots(1)

Appeler la fonction pour créer les boîtes d'erreur

Nous allons maintenant appeler la fonction make_error_boxes() pour créer les boîtes d'erreur sur notre graphique.

## Appeler la fonction pour créer les boîtes d'erreur
_ = make_error_boxes(ax, x, y, xerr, yerr)

Afficher le graphique

Enfin, nous allons afficher le graphique à l'aide de plt.show().

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à créer des diagrammes en boîte à partir de barres d'erreur à l'aide de PatchCollection dans Matplotlib. En ajoutant un patch rectangulaire défini par les limites des barres dans les directions x et y, nous avons pu créer un graphique de barres d'erreur plus esthétiquement agréable.