Subamostragem de Barras de Erro com Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

Introdução

Na visualização de dados, é por vezes útil plotar barras de erro para mostrar a incerteza ou variabilidade dos dados. No entanto, se houver muitos pontos de dados com erros semelhantes, o gráfico pode ficar confuso e difícil de interpretar. Em tais casos, podemos usar a subamostragem de barras de erro (errorbar subsampling), que nos permite desenhar barras de erro apenas em um subconjunto de pontos de dados. Neste tutorial, usaremos a função errorbar do Matplotlib para demonstrar como aplicar a subamostragem de barras de erro aos nossos dados.

Dicas para a VM

Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.

Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.

Importar Bibliotecas e Gerar Dados

Primeiramente, precisamos importar as bibliotecas necessárias e gerar alguns dados de exemplo para trabalhar. Neste exemplo, usaremos o numpy para gerar os dados e o matplotlib para visualizá-los.

import matplotlib.pyplot as plt
import numpy as np

## example data
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)

## example variable error bar values
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x/2)

Plotar Todas as Barras de Erro

Em seguida, plotaremos todas as barras de erro usando a função errorbar sem qualquer subamostragem. Isso servirá como nosso gráfico de linha de base.

fig, ax = plt.subplots()

ax.set_title('Todas as Barras de Erro')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, label='y2')

ax.legend()
plt.show()

Subamostrar a Cada 6ª Barra de Erro

Agora, vamos aplicar a subamostragem de barras de erro para plotar apenas a cada 6ª barra de erro. Podemos fazer isso usando o parâmetro errorevery da função errorbar.

fig, ax = plt.subplots()

ax.set_title('A Cada 6ª Barra de Erro')
ax.errorbar(x, y1, yerr=y1err, errorevery=6, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=6, label='y2')

ax.legend()
plt.show()

Deslocar a Segunda Série em 3

Em alguns casos, podemos querer aplicar a subamostragem de barras de erro a diferentes partes de nossos dados. Podemos fazer isso especificando uma tupla para o parâmetro errorevery. Por exemplo, vamos aplicar a subamostragem de barras de erro à segunda série, mas deslocá-la em 3 pontos de dados.

fig, ax = plt.subplots()

ax.set_title('Segunda Série Deslocada em 3')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=(3, 6), label='y2')

ax.legend()
plt.show()

Resumo

Neste tutorial, aprendemos como aplicar a subamostragem de barras de erro aos nossos dados usando a função errorbar do Matplotlib. Ao usar o parâmetro errorevery, podemos plotar seletivamente barras de erro apenas em um subconjunto de pontos de dados, o que pode ajudar a tornar nossos gráficos mais legíveis e interpretáveis.