Как добавить полосы ошибок в диаграммы в python


Часто вам может потребоваться добавить полосы ошибок к графикам в 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]

Чтобы создать гистограмму с полосами ошибок для этого набора данных, мы можем установить ширину полос ошибок как стандартную ошибку , которая рассчитывается

Стандартная ошибка = s / √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 

Гистограмма с полосами ошибок в Python

Стандартная ошибка оказалась равна 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) 

Линейный график с полосами ошибок в Python

Обратите внимание, что аргумент yerr сообщает Python о необходимости создания вертикальных полос ошибок. Вместо этого мы могли бы использовать горизонтальные вертикальные полосы, используя аргумент xerr :

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

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

Столбики ошибок в диаграмме Python

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *