Foutbalken toevoegen aan grafieken in python
Vaak wilt u misschien foutbalken toevoegen aan grafieken in Python om de onzekerheid rond metingen of berekende waarden vast te leggen. Gelukkig is dit eenvoudig te doen met behulp van de matplotlib-bibliotheek.
In deze tutorial wordt uitgelegd hoe u foutbalken toevoegt aan staafdiagrammen en lijndiagrammen in Python.
Foutbalken in staafdiagrammen
Stel dat we de volgende dataset van 10 waarden in Python hebben:
import numpy as np import matplotlib.pyplot as plt #define dataset data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
Om een staafdiagram met foutbalken voor deze gegevensset te maken, kunnen we de breedte van de foutbalken instellen als standaardfout , die wordt berekend a
Standaardfout = s / √n
Goud:
- s: standaardafwijking van het monster
- n: steekproefomvang
De volgende code laat zien hoe u de standaardfout voor dit voorbeeld berekent:
#calculate standard error std_error = np.std(data, ddof=1) / np.sqrt(len(data)) #view standard error std_error 1.78
Ten slotte kunnen we het staafdiagram maken met foutbalken die een breedte hebben die gelijk is aan de standaardfout:
#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
De standaardfout bleek 1,78 te zijn. Dit is de breedte van de foutbalk die zich in beide richtingen uitstrekt vanaf de puntschattingen in de grafiek. De waarde van de eerste balk in het diagram is bijvoorbeeld 4, dus deze heeft een foutbalk die zich uitstrekt van:
- Onderkant: 4 – 178 = 2,22
- Bovenkant: 4 + 1,78 = 5,78
Elke foutbalk in het diagram heeft dezelfde breedte.
Foutbalken in lijndiagrammen
De volgende code laat zien hoe u een lijndiagram met foutbalken maakt voor dezelfde gegevensset:
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)
Merk op dat het yerr- argument Python vertelt verticale foutbalken te maken. We zouden in plaats daarvan horizontale verticale balken kunnen gebruiken met behulp van het xerr- argument:
#create line chart with horizontal error bars fig, ax = plt.subplots() ax.errorbar(x, y, xerr =std_error, capsize=4)
Meer Python-tutorials vind je hier .