Crear diagramas de caja personalizables con Matplotlib

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

El diagrama de caja es una representación gráfica de un grupo de datos a través de sus cuartiles. Se utiliza para mostrar la distribución de los datos en función de su resumen de cinco números: mínimo, primer cuartil, mediana, tercer cuartil y máximo. En este tutorial, aprenderemos a crear y personalizar un diagrama de caja utilizando la librería Matplotlib en Python.

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 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 lo resolveremos rápidamente para usted.

Importar bibliotecas y generar datos

Comenzamos importando las bibliotecas necesarias y generando datos falsos.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cbook as cbook

## Generate fake data
np.random.seed(19680801)
data = np.random.lognormal(size=(37, 4), mean=1.5, sigma=1.75)
labels = list('ABCD')

Calcular estadísticas del diagrama de caja

La función boxplot_stats() del módulo matplotlib.cbook calcula las estadísticas necesarias para el diagrama de caja. Pasamos los datos y las etiquetas como parámetros.

## Compute boxplot stats
stats = cbook.boxplot_stats(data, labels=labels, bootstrap=10000)

Personalizar las estadísticas del diagrama de caja

Podemos modificar cualquiera de las estadísticas del diagrama de caja que se calcularon en el Paso 2. En este ejemplo, establecemos la mediana de cada conjunto en la mediana de todos los datos y duplicamos las medias.

for n in range(len(stats)):
    stats[n]['med'] = np.median(data)
    stats[n]['mean'] *= 2

Crear un diagrama de caja básico

Podemos crear un diagrama de caja básico llamando a la función bxp() de Matplotlib. Pasamos las estadísticas calculadas como un parámetro.

## Create a basic boxplot
plt.bxp(stats)
plt.show()

Activar o desactivar la visualización de diferentes elementos

Podemos activar o desactivar la visualización de diferentes elementos del diagrama de caja utilizando varios parámetros en la función bxp(). En este ejemplo, demostramos cómo mostrar o ocultar la media, la caja, las tapas, las muescas y los valores atípicos.

## Toggle the display of different elements
plt.bxp(stats, showmeans=True, showbox=False, showcaps=False, shownotches=True, showfliers=False)
plt.show()

Personalizar la visualización de diferentes elementos

Podemos personalizar la visualización de diferentes elementos del diagrama de caja utilizando varios parámetros en la función bxp(). En este ejemplo, demostramos cómo personalizar la caja, la mediana, los valores atípicos, el punto de la media y la línea de la media.

## Customize the display of different elements
boxprops = dict(linestyle='--', linewidth=3, color='darkgoldenrod')
flierprops = dict(marker='o', markerfacecolor='green', markersize=12, linestyle='none')
medianprops = dict(linestyle='-.', linewidth=2.5, color='firebrick')
meanpointprops = dict(marker='D', markeredgecolor='black', markerfacecolor='firebrick')
meanlineprops = dict(linestyle='--', linewidth=2.5, color='purple')

plt.bxp(stats, boxprops=boxprops, flierprops=flierprops, medianprops=medianprops, meanprops=meanpointprops, meanline=True, showmeans=True)
plt.show()

Resumen

En este tutorial, aprendimos cómo crear y personalizar un diagrama de caja utilizando la biblioteca Matplotlib en Python. También aprendimos cómo activar o desactivar la visualización de diferentes elementos y personalizar su visualización. Los diagramas de caja son una herramienta útil para visualizar la distribución de datos e identificar valores atípicos.