Crear cajas a partir de barras de error utilizando PatchCollection

PythonPythonBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderemos a crear diagramas de caja a partir de barras de error utilizando PatchCollection. Los diagramas de caja son útiles para mostrar el rango y la distribución de los datos. Al agregar un parche rectangular definido por los límites de las barras en ambas direcciones x e y, podemos crear una representación gráfica de las barras de error más atractiva visualmente.

Consejos sobre la VM

Una vez que se haya iniciado 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 cargarse. La validación de las 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 resolveremos el problema inmediatamente para usted.

Importar bibliotecas

Primero importaremos las bibliotecas necesarias, incluyendo numpy y matplotlib.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.collections import PatchCollection
from matplotlib.patches import Rectangle

Preparar los datos

Luego, prepararemos los datos para nuestro diagrama de caja. Crearemos algunos datos ficticios para los valores de x e y, así como para los valores de error.

## Número de puntos de datos
n = 5

## Datos ficticios
np.random.seed(19680801)
x = np.arange(0, n, 1)
y = np.random.rand(n) * 5.

## Errores ficticios (por encima y por debajo)
xerr = np.random.rand(2, n) + 0.1
yerr = np.random.rand(2, n) + 0.2

Crear función para las cajas de error

Ahora crearemos una función llamada make_error_boxes que creará el parche rectangular definido por los límites de las barras en ambas direcciones x e y.

def make_error_boxes(ax, xdata, ydata, xerror, yerror, facecolor='r',
                     edgecolor='none', alpha=0.5):

    ## Bucle sobre los puntos de datos; crear caja a partir de los errores en cada punto
    errorboxes = [Rectangle((x - xe[0], y - ye[0]), xe.sum(), ye.sum())
                  for x, y, xe, ye in zip(xdata, ydata, xerror.T, yerror.T)]

    ## Crear colección de parches con el color/transparencia especificados
    pc = PatchCollection(errorboxes, facecolor=facecolor, alpha=alpha,
                         edgecolor=edgecolor)

    ## Agregar la colección al eje
    ax.add_collection(pc)

    ## Graficar barras de error
    artists = ax.errorbar(xdata, ydata, xerr=xerror, yerr=yerror,
                          fmt='none', ecolor='k')

    return artists

Crear figura y ejes

Ahora crearemos la figura y los ejes para nuestro diagrama de caja utilizando plt.subplots().

## Crear figura y ejes
fig, ax = plt.subplots(1)

Llamar a la función para crear cajas de error

Ahora llamaremos a la función make_error_boxes() para crear las cajas de error en nuestra gráfica.

## Llamar a la función para crear cajas de error
_ = make_error_boxes(ax, x, y, xerr, yerr)

Mostrar la gráfica

Finalmente, mostraremos la gráfica utilizando plt.show().

plt.show()

Resumen

En este laboratorio, aprendimos cómo crear diagramas de caja a partir de barras de error utilizando PatchCollection en Matplotlib. Al agregar un parche rectangular definido por los límites de las barras en ambas direcciones x e y, pudimos crear una gráfica de barras de error más atractiva visualmente.