Часто вам может быть интересно добавить планки погрешностей к диаграммам в Python, чтобы отразить неопределенность измерений или вычисленных значений. К счастью, это легко сделать с помощью библиотеки matplotlib.
В этом руководстве объясняется, как добавить планки погрешностей как в гистограммы, так и в линейные диаграммы в Python.
Планки погрешностей в гистограммах
Предположим, у нас есть следующий набор данных из 10 значений в Python:
import numpy as np
import matplotlib.pyplot as plt
#define dataset
data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
Чтобы создать гистограмму с планками погрешностей для этого набора данных, мы можем определить ширину полос погрешностей как стандартную ошибку , которая вычисляется
Стандартная ошибка = с / √n
куда:
- s: стандартное отклонение выборки
- n: размер выборки
Следующий код показывает, как вычислить стандартную ошибку для этого примера:
#calculate standard error
std_error = np.std(data, ddof=1) / np.sqrt(len(data))
#view standard error
std_error
1.78
Наконец, мы можем создать гистограмму, используя полосы погрешностей, ширина которых равна стандартной ошибке:
#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

Стандартная ошибка оказалась равной 1,78.Это ширина полосы погрешности, которая простирается в обоих направлениях от точечных оценок на графике. Например, значение первого столбца на диаграмме равно 4, поэтому он имеет полосу погрешности, которая простирается от:
- Нижний конец: 4 – 178 = 2,22
- Верхний предел: 4 + 1,78 = 5,78
Каждая полоса ошибок на диаграмме имеет одинаковую ширину.
Планки погрешностей в линейных диаграммах
В следующем коде показано, как создать линейную диаграмму с планками погрешностей для того же набора данных:
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)

Обратите внимание, что аргумент yerr указывает Python создавать вертикальные планки погрешностей. Вместо этого мы могли бы использовать горизонтальные вертикальные полосы, используя аргумент xerr :
#create line chart with horizontal error bars
fig, ax = plt.subplots()
ax.errorbar(x, y,
xerr =std_error,
capsize=4)

Вы можете найти больше руководств по Python здесь .