Sous-échantillonnage des barre d'erreur avec Matplotlib

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 la visualisation de données, il est parfois utile de tracer des barre d'erreur pour montrer l'incertitude ou la variabilité des données. Cependant, si il y a de nombreux points de données avec des erreurs similaires, le tracé peut devenir encombré et difficile à interpréter. Dans de tels cas, on peut utiliser le sous-échantillonnage des barre d'erreur, qui nous permet de tracer des barre d'erreur uniquement sur un sous-ensemble de points de données. Dans ce tutoriel, on utilisera la fonction errorbar de Matplotlib pour démontrer comment appliquer le sous-échantillonnage des barre d'erreur à nos données.

Conseils sur la VM

Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook 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 limites de Jupyter Notebook.

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/comments("Comments") matplotlib/PlottingDataGroup -.-> matplotlib/error_bars("Error Bars") python/DataStructuresGroup -.-> python/tuples("Tuples") matplotlib/PlotCustomizationGroup -.-> matplotlib/legend_config("Legend Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} matplotlib/figures_axes -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} python/comments -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} matplotlib/error_bars -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} python/tuples -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} matplotlib/legend_config -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} python/importing_modules -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} python/numerical_computing -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} python/data_visualization -.-> lab-48715{{"Sous-échantillonnage des barre d'erreur avec Matplotlib"}} end

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

Tout d'abord, nous devons importer les bibliothèques nécessaires et générer quelques données d'exemple avec lesquelles travailler. Dans cet exemple, nous utiliserons numpy pour générer les données et matplotlib pour les visualiser.

import matplotlib.pyplot as plt
import numpy as np

## données d'exemple
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)

## valeurs d'exemple pour les barre d'erreur variables
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x/2)

Tracer toutes les barre d'erreur

Ensuite, nous allons tracer toutes les barre d'erreur en utilisant la fonction errorbar sans aucun sous-échantillonnage. Cela servira de tracé de base pour nous.

fig, ax = plt.subplots()

ax.set_title('Toutes les barre d\'erreur')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, label='y2')

ax.legend()
plt.show()

Sous-échantillonnage des barre d'erreur toutes les 6ème

Maintenant, appliquons le sous-échantillonnage des barre d'erreur pour tracer seulement toutes les 6ème barre d'erreur. Nous pouvons le faire en utilisant le paramètre errorevery de la fonction errorbar.

fig, ax = plt.subplots()

ax.set_title('Toutes les 6ème barre d\'erreur')
ax.errorbar(x, y1, yerr=y1err, errorevery=6, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=6, label='y2')

ax.legend()
plt.show()

Décaler la deuxième série de 3

Dans certains cas, nous pouvons vouloir appliquer le sous-échantillonnage des barre d'erreur à différentes parties de nos données. Nous pouvons le faire en spécifiant un tuple pour le paramètre errorevery. Par exemple, appliquons le sous-échantillonnage des barre d'erreur à la deuxième série, mais la décalons de 3 points de données.

fig, ax = plt.subplots()

ax.set_title('Deuxième série décalée de 3')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=(3, 6), label='y2')

ax.legend()
plt.show()

Sommaire

Dans ce tutoriel, nous avons appris comment appliquer le sous-échantillonnage des barre d'erreur à nos données en utilisant la fonction errorbar de Matplotlib. En utilisant le paramètre errorevery, nous pouvons tracer sélectivement les barre d'erreur seulement sur un sous-ensemble de points de données, ce qui peut aider à rendre nos graphiques plus lisibles et interprétables.