Matplotlib errorbar, Python.

En este tutorial explicamos cómo agregar la barra de error en las gráficas de Matplotlib, en Python. Matplotlib errorbar, es una barra que nos indica el error de alguna medición o de algún punto. Es muy utilizado en estadística, principalmente en diagramas de dispersión.

Agregando la barra de error en Matplotlib, Python.

Es muy sencillo, solo debemos darle un valor al error, luego graficar la barra de error.

Se usa el comando:

plt.errorbar(x, y, yerr  = 2, capsize = 3)

Dónde:

  • x, son los datos del eje X.
  • y, son los datos del eje Y.
  • yerr, es el valor del error en el eje Y, puede ser un arreglo con un error distinto para cada dato.
  • xerr, es el valor del error en el eje X, aunque no lo usamos en este ejemplo.
  • capsize, es el tamaño de las barras inferior y superior de la barra de error.

Un ejemplo sencillo, donde solo graficamos un punto, con un 10% de error en su valor en el eje Y.

import matplotlib.pyplot as plt
x = 1
y = 20
y_error = 20*0.10             ## El 10% de error

plt.errorbar(x,y, yerr = y_error, capsize = 3)
plt.show()

Y un ejemplo asimétrico.

Lo explicamos más adelante.

Errorbar asimetrico matplotlib

Matplotlib errorbar example.

Ahora un ejemplo un poco más complejo. En este usaremos la librería numpy para generar los arreglos que se graficarán.

Primero generamos los datos en X y en Y.

Luego generamos el error para cada punto, que es del 10% del valor en el eje Y.

En seguida graficamos usando el comando “plt.errorbar(…)”, dándole las características deseadas.

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,8)
y = np.array([20,10,45,32,38,21,27])
y_error = y * 0.10    ##El 10%

plt.errorbar(x, y,  yerr = y_error, linestyle="None”,  fmt="ob",  capsize=3,  ecolor="k")
plt.show()

Parámetros de errorbar:

  • yerr, es el error de cada punto.
  • linestyle, indicamos que no queremos que se grafique una línea.
  • fmt, es el tipo de marcador, en este caso es tipo punto (“o”) color azul (“b”).
  • capsize, es el tamaño de las libeas inferior y superior de la barra de error.
  • ecolor, es el color de la barra de error, si no se usa la barra será del color del marcador.

Nota: Podemos combinar  “plt.plot” y “plt.errorbar” si lo creemos necesario.Errorbar matplotlib

 

Matplotlib errorbar no line.

Si queremos que no aparezca la línea de la gráfica cuando usamos “plt.errorbar(…)” simplemente podemos usar el parámetro linestyle = “None”.

plt.errorbar(x, y,  yerr = y_error, linestyle="None”,  fmt="ob",  capsize=3,  ecolor="k")

 

Matplotlib errorbar Caps, línea superior e inferior.

Podemos editar un poco la barra de error (errrorbar). Y decidir si queremos o no que tenga líneas en los extremos.

Con el comando capsize, en Matplotlib.

Este comando indica el tamaño de las líneas de los extremos de la barra de error. Si no lo usamos, por default el tamaño será 0 y no veremos líneas en los extremos.

Capsize errorbar matplotlib

Con el comando capthick, en Matplotlib.

Este comando indica el ancho de las líneas en los extremos (caps) de las barras de error.

Matplolib errorbar color.

Podemos editar el color de la errorbar en Matplotlib, para esto usamos el parámetro “ecolor”.

plt.errorbar(x, y,  yerr = y_error, linestyle="None”,  fmt="ob",  capsize=3,  ecolor="k")

Si no usamos este parámetro, el color de la barra de error será el mismo que el del marcador.

Tenemos varios colores para elegir por ejemplo:

  • k, es el negro
  • b, es el azul
  • g, es el verde
  • r, es el rojo
  • y, es el amarillo.

Para mas colores te recomendamos este tutorial:

Python matplotlib colores predeterminados y hexadecimal.

 

 

Matplolib errorbar asymetric.

Una barra de error asimétrica, es la que no tiene el mismo error en cada lado. Esto se puede lograr con grans facilidad en Python usando matplotlib.

Solo necesitamos modificar el error y hacerlo con 2 valores, algo asi:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,8)
y = np.array([20,10,45,32,38,21,27])
y_error = [y * 0.05, y*0.1]  ##El 5% en un lado y el 10% en el otro

plt.errorbar(x,y, linestyle="None", yerr = y_error, fmt="ob", capsize=7, ecolor="k")
plt.show()

Matplotlib errorbar style, Python.

Ya hemos visto varios parámetros, ahora vamos a darle un estilo a nuestra barra de error en Python con Matplotlib.

Como resumen tenemos:

  • fmt, es el color y el tipo de marcador.
  • linestyle, es el tipo de línea que conecta los puntos. Podemos usar línea punteada (“:”), continua o bien sin línea (“None”).
  • ecolor, es el color de la barra de error.
  • elinewidth, es el grosor de la línea de la barra de error.
  • capsize, es el tamaño de las líneas en los extremos de la barra de error.
  • capthick, es el grosor de las líneas en los extremos de la barra de error.
  • barsabove, puede ser falso o verdadero. Si es verdadero las barras de error estarán encima de los símbolos. Por default están debajo.

Ejemplos barra de error en Python, Matplotlib.

Aquí están dos ejemplos para una gráfica con barras de error en Python, usando Matplotlib.

Incluimos algunos parámetros que no se explicaron antes. Ya que en el comando “plt.errorbar(…)”se pueden usar casi todos los parámetros que se usan en el comando “plt.plot(…)”.

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,8)
y = np.array([20,10,45,32,38,21,27])
y_error = y * 0.10  ##El 10%

plt.errorbar(x, y,  linestyle=":",  yerr = y_error,  fmt="sb",  markersize=9, capsize=3,  ecolor="k",  barsabove=True)
plt.show()

Errorbar no line python

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(1,8)
y = np.array([20,10,45,32,38,21,27])
y_error = y * 0.10  ##El 10%
plt.errorbar(x, y, linestyle="None", yerr = y_error, fmt="or", markersize=9, capsize=7, ecolor="b", elinewidth=3)
plt.show()

Personalizada Errorbar matplotlib python

Referencia a la página oficial.