Comment ajouter des barres d’erreur aux graphiques en Python
Souvent, vous souhaiterez peut-être ajouter des barres d’erreur aux graphiques en Python pour capturer l’incertitude autour des mesures ou des valeurs calculées. Heureusement, c’est facile à faire en utilisant la bibliothèque matplotlib.
Ce didacticiel explique comment ajouter des barres d’erreur aux graphiques à barres et aux graphiques linéaires en Python.
Barres d’erreur dans les graphiques à barres
Supposons que nous ayons l’ensemble de données suivant de 10 valeurs en Python :
import numpy as np import matplotlib.pyplot as plt #define dataset data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
Pour créer un graphique à barres avec des barres d’erreur pour cet ensemble de données, nous pouvons définir la largeur des barres d’erreur comme erreur standard , qui est calculée a
Erreur type = s / √n
où:
- s : écart type de l’échantillon
- n : taille de l’échantillon
Le code suivant montre comment calculer l’erreur standard pour cet exemple :
#calculate standard error std_error = np.std(data, ddof=1) / np.sqrt(len(data)) #view standard error std_error 1.78
Enfin, nous pouvons créer le graphique à barres en utilisant des barres d’erreur qui ont une largeur égale à l’erreur standard :
#define chart fig, ax = plt.subplots() #create chart ax.bar(x=np.arange(len(data)), #x-coordinates of bars height=data, #height of bars yerr=std_error, #error bar width capsize=4) #length of error bar caps
L’erreur standard s’est avérée être de 1,78 . Il s’agit de la largeur de la barre d’erreur qui s’étend dans les deux sens à partir des estimations ponctuelles sur le graphique. Par exemple, la valeur de la première barre du graphique est 4, elle comporte donc une barre d’erreur qui s’étend de :
- Extrémité inférieure : 4 – 178 = 2,22
- Extrémité supérieure : 4 + 1,78 = 5,78
Chaque barre d’erreur du graphique a la même largeur.
Barres d’erreur dans les graphiques linéaires
Le code suivant montre comment créer un graphique linéaire avec des barres d’erreur pour le même ensemble de données :
import numpy as np import matplotlib.pyplot as plt #define data data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20] #define x and y coordinates x = np.arange(len(data)) y = data #create line chart with error bars fig, ax = plt.subplots() ax.errorbar(x, y, yerr=std_error, capsize=4)
Notez que l’argument yerr indique à Python de créer des barres d’erreur verticales. Nous pourrions plutôt utiliser des barres verticales horizontales en utilisant l’argument xerr :
#create line chart with horizontal error bars fig, ax = plt.subplots() ax.errorbar(x, y, xerr=std_error, capsize=4)
Vous pouvez trouver plus de didacticiels Python ici .