Submuestreo de barras de error con Matplotlib

Beginner

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

Introducción

En la visualización de datos, a veces es útil trazar barras de error para mostrar la incertidumbre o variabilidad de los datos. Sin embargo, si hay muchos puntos de datos con errores similares, la gráfica puede quedar desordenada y difícil de interpretar. En tales casos, podemos utilizar la submuestreo de barras de error, que nos permite dibujar barras de error solo en un subconjunto de puntos de datos. En este tutorial, utilizaremos la función errorbar de Matplotlib para demostrar cómo aplicar el submuestreo de barras de error a nuestros datos.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.

A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargar. La validación de operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.

Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.

Importar bibliotecas y generar datos

Primero, necesitamos importar las bibliotecas necesarias y generar algunos datos de ejemplo con los que trabajar. En este ejemplo, usaremos numpy para generar los datos y matplotlib para visualizarlos.

import matplotlib.pyplot as plt
import numpy as np

## datos de ejemplo
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)

## valores de barras de error variables de ejemplo
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x/2)

Graficar todas las barras de error

A continuación, graficaremos todas las barras de error utilizando la función errorbar sin ningún submuestreo. Esto servirá como nuestra gráfica de referencia.

fig, ax = plt.subplots()

ax.set_title('Todas las barras de error')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, label='y2')

ax.legend()
plt.show()

Submuestrear cada sexta barra de error

Ahora, aplicaremos el submuestreo de barras de error para graficar solo cada sexta barra de error. Esto se puede hacer utilizando el parámetro errorevery de la función errorbar.

fig, ax = plt.subplots()

ax.set_title('Cada sexta barra de error')
ax.errorbar(x, y1, yerr=y1err, errorevery=6, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=6, label='y2')

ax.legend()
plt.show()

Desplazar la segunda serie en 3

En algunos casos, es posible que queramos aplicar el submuestreo de barras de error a diferentes partes de nuestros datos. Esto se puede hacer especificando una tupla para el parámetro errorevery. Por ejemplo, apliquemos el submuestreo de barras de error a la segunda serie, pero desplacemosla en 3 puntos de datos.

fig, ax = plt.subplots()

ax.set_title('Segunda serie desplazada en 3')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=(3, 6), label='y2')

ax.legend()
plt.show()

Resumen

En este tutorial, aprendimos cómo aplicar el submuestreo de barras de error a nuestros datos utilizando la función errorbar de Matplotlib. Al utilizar el parámetro errorevery, podemos graficar selectivamente barras de error solo en un subconjunto de puntos de datos, lo que puede ayudar a que nuestras gráficas sean más legibles e interpretables.