Come aggiungere barre di errore ai grafici in python
Spesso potresti voler aggiungere barre di errore ai grafici in Python per catturare l’incertezza attorno alle misurazioni o ai valori calcolati. Fortunatamente, questo è facile da fare utilizzando la libreria matplotlib.
Questo tutorial spiega come aggiungere barre di errore ai grafici a barre e ai grafici a linee in Python.
Barre di errore nei grafici a barre
Supponiamo di avere il seguente set di dati di 10 valori in Python:
import numpy as np import matplotlib.pyplot as plt #define dataset data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
Per creare un grafico a barre con barre di errore per questo set di dati, possiamo impostare la larghezza delle barre di errore come errore standard , che viene calcolato a
Errore standard = s / √n
Oro:
- s: deviazione standard campionaria
- n: dimensione del campione
Il codice seguente mostra come calcolare l’errore standard per questo esempio:
#calculate standard error std_error = np.std(data, ddof=1) / np.sqrt(len(data)) #view standard error std_error 1.78
Infine, possiamo creare il grafico a barre utilizzando barre di errore che hanno una larghezza pari all’errore 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’errore standard si è rivelato essere 1,78 . Questa è la larghezza della barra di errore che si estende in entrambe le direzioni dalle stime puntuali sul grafico. Ad esempio, il valore della prima barra nel grafico è 4, quindi ha una barra di errore che si estende da:
- Estremità inferiore: 4 – 178 = 2,22
- Estremità superiore: 4 + 1,78 = 5,78
Ogni barra di errore nel grafico ha la stessa larghezza.
Barre di errore nei grafici a linee
Il codice seguente mostra come creare un grafico a linee con barre di errore per lo stesso set di dati:
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)
Nota che l’argomento yerr dice a Python di creare barre di errore verticali. Potremmo invece utilizzare barre verticali orizzontali utilizzando l’argomento xerr :
#create line chart with horizontal error bars fig, ax = plt.subplots() ax.errorbar(x, y, xerr =std_error, capsize=4)
Puoi trovare altri tutorial su Python qui .