Jak dodać słupki błędów do wykresów w pythonie


Często możesz chcieć dodać słupki błędów do wykresów w Pythonie, aby uchwycić niepewność dotyczącą pomiarów lub obliczonych wartości. Na szczęście można to łatwo zrobić, korzystając z biblioteki matplotlib.

W tym samouczku wyjaśniono, jak dodawać słupki błędów do wykresów słupkowych i wykresów liniowych w języku Python.

Słupki błędów na wykresach słupkowych

Załóżmy, że w Pythonie mamy następujący zestaw danych składający się z 10 wartości:

 import numpy as np
import matplotlib.pyplot as plt

#define dataset
data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]

Aby utworzyć wykres słupkowy ze słupkami błędów dla tego zestawu danych, możemy ustawić szerokość słupków błędów jako błąd standardowy , który jest obliczany

Błąd standardowy = s / √n

Złoto:

  • s: odchylenie standardowe próbki
  • n: wielkość próbki

Poniższy kod pokazuje, jak obliczyć błąd standardowy w tym przykładzie:

 #calculate standard error
std_error = np.std(data, ddof=1) / np.sqrt(len(data))

#view standard error
std_error

1.78

Na koniec możemy utworzyć wykres słupkowy, korzystając ze słupków błędów o szerokości równej błędowi standardowemu:

 #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 

Wykres słupkowy ze słupkami błędów w Pythonie

Błąd standardowy okazał się 1,78 . Jest to szerokość słupka błędu rozciągającego się w dowolnym kierunku od szacunków punktowych na wykresie. Na przykład wartość pierwszego słupka na wykresie wynosi 4, zatem słupek błędu rozciąga się od:

  • Dolny koniec: 4 – 178 = 2,22
  • Górny koniec: 4 + 1,78 = 5,78

Każdy słupek błędu na wykresie ma tę samą szerokość.

Słupki błędów na wykresach liniowych

Poniższy kod pokazuje, jak utworzyć wykres liniowy ze słupkami błędów dla tego samego zestawu danych:

 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) 

Wykres liniowy ze słupkami błędów w Pythonie

Zauważ, że argument yerr mówi Pythonowi, aby utworzył pionowe słupki błędów. Zamiast tego moglibyśmy użyć poziomych pionowych pasków, używając argumentu xerr :

 #create line chart with horizontal error bars
fig, ax = plt.subplots()

ax.errorbar(x, y,
            xerr =std_error,
            capsize=4) 

Słupki błędów na wykresie Pythona

Więcej samouczków dotyczących Pythona znajdziesz tutaj .

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *