Personalizar visualizaciones con Matplotlib

MatplotlibMatplotlibBeginner
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

Esta práctica te guiará a través del proceso de personalización de Matplotlib utilizando hojas de estilo y rcParams. Matplotlib es una poderosa biblioteca para crear visualizaciones en Python. Al personalizar las propiedades y los estilos predeterminados de Matplotlib, puedes crear gráficos únicos y visualmente atractivos.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz 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 tengas 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 tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Establecer rcParams en tiempo de ejecución

Puedes cambiar dinámicamente la configuración de configuración predeterminada en tiempo de ejecución en un script de Python o de forma interactiva desde la shell de Python. La variable matplotlib.rcParams es global para el paquete Matplotlib y almacena todas las configuraciones rc. Para personalizar los rcParams en tiempo de ejecución, puedes modificarlos directamente utilizando el diccionario mpl.rcParams. Aquí hay un ejemplo:

import matplotlib as mpl

mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'

Este código cambia el ancho de línea predeterminado y el estilo de línea para todas las gráficas creadas con Matplotlib.

Veamos algunos datos aleatorios trazados con los nuevos ajustes predeterminados.

import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
from cycler import cycler
mpl.rcParams['lines.linewidth'] = 2
mpl.rcParams['lines.linestyle'] = '--'
data = np.random.randn(50)
plt.plot(data)
plt.show()

Usando hojas de estilo

Otra forma de cambiar la apariencia visual de las gráficas es establecer los rcParams en una hoja de estilo e importar esa hoja de estilo con matplotlib.style.use. Una hoja de estilo es un archivo que contiene un conjunto de rcParams relacionados con el estilo de una gráfica. Matplotlib proporciona una serie de estilos predefinidos que puedes utilizar. Por ejemplo, el estilo "ggplot" emula la estética de la biblioteca ggplot en R. Puedes aplicar una hoja de estilo de la siguiente manera:

import matplotlib.pyplot as plt

print(plt.style.available)
plt.style.use('Solarize_Light2')

También puedes definir tus propios estilos personalizados y utilizarlos llamando a .style.use con la ruta o la URL de la hoja de estilo.

Cambiando el archivo matplotlibrc

El archivo matplotlibrc es un archivo de configuración que te permite personalizar todo tipo de propiedades en Matplotlib. Controla los valores predeterminados de propiedades como el tamaño de la figura, el ancho de línea, los colores, las fuentes, etc. Puedes modificar el archivo matplotlibrc para personalizar Matplotlib según tus preferencias. El archivo puede estar ubicado en diferentes lugares de tu sistema, y Matplotlib lo busca en un orden específico. Una vez que se encuentra un archivo matplotlibrc, tiene prioridad sobre otras configuraciones. Puedes usar la función matplotlib.matplotlib_fname() para mostrar la ruta del archivo matplotlibrc activo actualmente.

Resumen

Matplotlib ofrece múltiples maneras de personalizar las propiedades y los estilos predeterminados de las gráficas. Puedes establecer los rcParams en tiempo de ejecución, usar hojas de estilo para cambiar la apariencia visual de las gráficas y modificar el archivo matplotlibrc para personalizar Matplotlib de manera global. Experimenta con diferentes personalizaciones para crear gráficas únicas y visualmente atractivas con Matplotlib.