Temas predefinidos, colores y estilos

Intermedio
Matplotlib
Matplotlib
Actualizado: 28/10/2024

¡Desbloquea el curso de Matplotlib completo!

IA
Ejercicios
Certificado
Entrar

Mira la lección en vídeo

Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.

Desbloquear Plan Plus

Temas existentes en Matplotlib

Matplotlib ofrece una serie de temas predefinidos que facilitan la personalización de gráficos, permitiendo a los desarrolladores cambiar rápidamente la apariencia visual de sus visualizaciones. Estos temas modifican aspectos como el color de fondo, las líneas, el estilo de las fuentes y los colores de las marcas, entre otros elementos. 

Para aplicar un tema, se utiliza el método plt.style.use, que toma como argumento el nombre del tema deseado.

import matplotlib.pyplot as plt

# Aplicar un tema predefinido
plt.style.use('ggplot')

Existen varios temas predefinidos en Matplotlib, cada uno diseñado para satisfacer diferentes necesidades estéticas y funcionales. 

Algunos de los temas más populares son:

  • 'classic': Este tema reproduce la apariencia original de Matplotlib antes de la versión 2.0, ofreciendo un aspecto más tradicional y menos estilizado.
  • 'ggplot': Inspirado en el paquete ggplot2 de R, este tema proporciona un diseño limpio y moderno, ideal para presentar datos de manera clara.
  • 'seaborn': Aunque Seaborn es una biblioteca separada, Matplotlib incluye un tema que imita sus estilos, ofreciendo un aspecto suave y atractivo para gráficos estadísticos.
  • 'dark_background': Perfecto para presentaciones, este tema utiliza un fondo oscuro que resalta los elementos del gráfico.
  • 'fivethirtyeight': Inspirado en los gráficos del sitio web FiveThirtyEight, este tema es útil para quienes buscan un estilo periodístico y profesional.

Para listar todos los temas disponibles en Matplotlib, se puede usar el siguiente código:

import matplotlib.pyplot as plt

# Listar todos los estilos disponibles
print(plt.style.available)

Además de los temas predefinidos, Matplotlib permite la creación de temas personalizados. Esto se logra mediante la modificación de parámetros específicos en matplotlib.rcParams, que ajustan el comportamiento de distintos elementos gráficos. 

Por ejemplo, para cambiar el tamaño de la fuente de los títulos y las etiquetas, se puede modificar directamente los parámetros correspondientes:

import matplotlib.pyplot as plt

# Personalizar parámetros de estilo
plt.rcParams['axes.titlesize'] = 14
plt.rcParams['axes.labelsize'] = 12

La flexibilidad en la personalización de temas permite a los desarrolladores adaptar sus gráficos a las necesidades específicas de su audiencia o a los requisitos de un proyecto en particular.

Colores y personalización de colores en Matplotlib

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Matplotlib ofrece un amplio conjunto de opciones para la personalización de colores, permitiendo a los desarrolladores ajustar la paleta cromática de sus gráficos de manera precisa. La biblioteca soporta diversos formatos de color, como nombres de colores, códigos hexadecimales, tuplas RGB, y valores RGBA. Esta flexibilidad permite adaptar los gráficos a las necesidades específicas del proyecto o a las preferencias estéticas del usuario.

Para establecer el color de un elemento gráfico, como una línea o un marcador, se utiliza el argumento color en las funciones de trazado.

Por ejemplo, para dibujar una línea roja, se puede especificar el color de la siguiente manera:

import matplotlib.pyplot as plt

plt.plot([1, 2, 3], [4, 5, 6], color='red')  # Usando nombre de color
plt.plot([1, 2, 3], [6, 5, 4], color='#FF5733')  # Usando código hexadecimal
plt.show()

La visualización resultante es la siguiente:

Matplotlib incluye un conjunto de colores predefinidos, accesibles mediante nombres comunes como 'blue', 'green', y 'yellow'. Adicionalmente, se pueden definir colores personalizados utilizando tuplas de valores RGB o RGBA, donde cada componente toma un valor entre 0 y 1. La inclusión de un cuarto componente, el canal alfa, permite ajustar la transparencia del color.

plt.plot([1, 2, 3], [4, 5, 6], color=(0.1, 0.2, 0.5))  # RGB
plt.plot([1, 2, 3], [6, 5, 4], color=(0.1, 0.2, 0.5, 0.3))  # RGBA
plt.show()

Para una personalización más avanzada, Matplotlib ofrece la posibilidad de crear colormaps personalizados. 

Un colormap es una secuencia de colores que se utiliza para mapear valores numéricos a colores, ideal para gráficos de densidad o mapas de calor. Los colormaps se pueden obtener desde la submódulo cm de Matplotlib, y se aplican a través del argumento cmap.

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

# Crear un generador de números aleatorios con una semilla específica
rng = np.random.default_rng(seed=42)

# Generación de datos aleatorios
data = rng.random((10, 10))

# Creación del heatmap utilizando el colormap 'viridis'
plt.imshow(data, cmap=cm.viridis)  # Usando un colormap predefinido
plt.colorbar()  # Agrega una barra de color para referencia
plt.show()

Así se vería la gráfica:

Los desarrolladores también pueden definir colormaps personalizados mediante la función LinearSegmentedColormap.from_list, que permite especificar una lista de colores que se interpolarán a lo largo del rango de valores.

from matplotlib.colors import LinearSegmentedColormap

custom_cmap = LinearSegmentedColormap.from_list('custom_cmap', ['red', 'blue', 'green'])
plt.imshow(data, cmap=custom_cmap)
plt.colorbar()
plt.show()

La personalización de colores en Matplotlib es un aspecto crucial para garantizar que los gráficos no solo sean estéticamente agradables, sino también efectivos en la comunicación de información. Al dominar la gestión de colores, los ingenieros de software pueden crear visualizaciones que se adapten perfectamente a las necesidades de su audiencia y contexto.

Estilos y personalización de estilos en Matplotlib

Matplotlib proporciona un amplio conjunto de estilos predefinidos que permiten ajustar la apariencia de los gráficos de manera rápida y eficiente. 

Estos estilos afectan elementos gráficos como el tipo de línea, el grosor, las marcas y las cuadrículas. 

Para aplicar un estilo, se utiliza plt.style.use('nombre_del_estilo'), lo que facilita cambiar entre diferentes configuraciones visuales sin necesidad de modificar múltiples parámetros manualmente.

import matplotlib.pyplot as plt

# Aplicar un estilo predefinido válido
plt.style.use('ggplot')

# Graficar con el estilo aplicado
plt.plot([1, 2, 3], [4, 5, 6])
plt.show()

Este sería el aspecto de la gráfica:

Además de los estilos predefinidos, es posible crear estilos personalizados para satisfacer necesidades específicas de visualización. Esto se logra mediante la modificación directa de parámetros en matplotlib.rcParams

Por ejemplo, se puede ajustar el ancho de las líneas o el tamaño de los marcadores para personalizar un gráfico:

import matplotlib.pyplot as plt

# Personalizar estilo ajustando parámetros rcParams
plt.rcParams['lines.linewidth'] = 2.5
plt.rcParams['lines.markersize'] = 8

plt.plot([1, 2, 3], [4, 5, 6], marker='o')
plt.show()

Para una gestión más avanzada de estilos, se pueden definir estilos personalizados en un archivo de configuración .mplstyle. Este archivo permite especificar una serie de parámetros que pueden ser reutilizados en diferentes proyectos. Una vez creado el archivo, se puede aplicar de manera similar a otros estilos predefinidos:

# Contenido de un archivo custom.mplstyle
"""
axes.titlesize : 16
axes.labelsize : 14
lines.linewidth : 3
lines.markersize : 10
"""

# Aplicar el estilo personalizado
plt.style.use('custom.mplstyle')

plt.plot([1, 2, 3], [4, 5, 6], marker='s')
plt.show()

La flexibilidad de Matplotlib permite combinar estilos predefinidos con personalizaciones específicas, ofreciendo un control total sobre la apariencia de los gráficos. Esto es particularmente útil para proyectos que requieren una consistencia visual específica o que deben alinearse con directrices de diseño corporativo.

Aprendizajes de esta lección de Matplotlib

1. Comprender la aplicación de temas predefinidos en Matplotlib para personalizar gráficos.

2. Aprender a utilizar y personalizar colores en Matplotlib para mejorar la claridad y efectividad de los gráficos.

3. Explorar los estilos predefinidos y su aplicación en la visualización de datos.

4. Desarrollar la habilidad de crear temas y estilos personalizados adaptados a necesidades específicas.

5. Integrar conceptos de diseño visual para mejorar la presentación de datos en gráficos.

Completa este curso de Matplotlib y certifícate

Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración