Curso matplotlib - Gráfico com barras de erros (linhas e pontos)

1 minute read


Além das edições das barras de erros, o plt.errobar() também aceita parâmetros para controlar o tipo de marcador (marker), a cor do marcador (markerfacecolor), o tipo de linha (linestyle), o título do elemento (label), entre outros, de forma muito similar ao que foi apresentado anteriormente.

Por exemplo:

plt.figure(figsize=(8,6))
plt.errorbar(dias, media, yerr=desv_pad, ecolor='red', elinewidth=1, capsize=5, capthick=1,
             barsabove=True, marker = "o", markerfacecolor="g", markersize=4, color="red",
             linestyle="none", label="erro")
plt.legend()
plt.show()

Figura 1 - Gráfico de erros relacionando a temperatura média na cidade de Birigui-SP em três dias diferentes do ano de 2021.

gráfico de dispersão desenhado com o **matplotlib** relacionando o dia e a temperatura média do dia


Entretanto, uma boa prática é utilizar o método plt.errorbar() apenas para inserir as barras de erro, e então utilizar o método plt.scatter() para adicionar os pontos, e/ou o plt.plot()para adicionar as linhas. Por exemplo:

plt.figure(figsize=(8,6))
plt.errorbar(dias, media, yerr=desv_pad, ecolor='red', elinewidth=1, capsize=5, capthick=1,
             color='k', linestyle="none",)
plt.scatter(dias, media, label="Meus dados")
plt.legend()
plt.show()

Figura 2 - Gráfico de erros relacionando a temperatura média na cidade de Birigui-SP em três dias diferentes do ano de 2021.

gráfico de dispersão desenhado com o matplotlib relacionando o dia e a temperatura média do dia


Utilizar o plt.errorbar() tem a vantagem de ser um único elemento a ser adicionado. Entretanto, a sua edição pode se tornar mais complexa, e por este motivo, em alguns casos é melhor combinar os elementos. Além disto, repare nas legendas geradas. O símbolo da legenda gerada utilizando o plt.errorbar() inclui a barra de erro, enquanto que o símbolo da legenda gerada utilizando o plt.scatter não inclui a barra de erro.


Qual é a vantagem de utilizar o plt.errorbar() ao invés de utilizar o plt.scatter()?

Não existem nenhuma vantagem!

A principal vantagem é a possibilidade de inserir barras de erro no gráfico


Anterior Próximo

Updated: