Como adicionar barras de erro a gráficos em python
Freqüentemente, você pode querer adicionar barras de erro aos gráficos em Python para capturar incertezas em torno de medições ou valores calculados. Felizmente, isso é fácil de fazer usando a biblioteca matplotlib.
Este tutorial explica como adicionar barras de erro a gráficos de barras e gráficos de linhas em Python.
Barras de erro em gráficos de barras
Suponha que temos o seguinte conjunto de dados de 10 valores em Python:
import numpy as np import matplotlib.pyplot as plt #define dataset data = [4, 6, 6, 8, 9, 14, 16, 16, 17, 20]
Para criar um gráfico de barras com barras de erro para este conjunto de dados, podemos definir a largura das barras de erro como erro padrão , que é calculado como
Erro padrão = s / √n
Ouro:
- s: desvio padrão da amostra
- n: tamanho da amostra
O código a seguir mostra como calcular o erro padrão para este exemplo:
#calculate standard error std_error = np.std(data, ddof=1) / np.sqrt(len(data)) #view standard error std_error 1.78
Finalmente, podemos criar o gráfico de barras usando barras de erro com largura igual ao erro padrão:
#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
O erro padrão acabou sendo 1,78 . Esta é a largura da barra de erro que se estende em qualquer direção a partir das estimativas pontuais no gráfico. Por exemplo, o valor da primeira barra no gráfico é 4, portanto possui uma barra de erro que se estende de:
- Extremidade inferior: 4 – 178 = 2,22
- Extremidade superior: 4 + 1,78 = 5,78
Cada barra de erro no gráfico tem a mesma largura.
Barras de erro em gráficos de linhas
O código a seguir mostra como criar um gráfico de linhas com barras de erro para o mesmo conjunto de dados:
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)
Observe que o argumento yerr diz ao Python para criar barras de erro verticais. Em vez disso, poderíamos usar barras verticais horizontais usando o argumento xerr :
#create line chart with horizontal error bars fig, ax = plt.subplots() ax.errorbar(x, y, xerr =std_error, capsize=4)
Você pode encontrar mais tutoriais de Python aqui .