2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Matplotlib

Tutorial Matplotlib: Subplots y grillas

Aprende a organizar y personalizar gráficos en Matplotlib usando subplots y grillas. Mejora la claridad y comparabilidad de tus visualizaciones.

Aprende Matplotlib GRATIS y certifícate

¿Qué son los subplots y grillas en Matplotlib?

En Matplotlib, los subplots son una característica que permite dividir una figura en una cuadrícula de subgráficos, proporcionando una forma estructurada de visualizar múltiples gráficos en un solo espacio. Esta capacidad es vital cuando se necesita comparar diferentes conjuntos de datos o mostrar varias visualizaciones de datos relacionados en un mismo contexto. 

Utilizar subplots permite una mejor organización visual y facilita el análisis comparativo de la información.

La creación de subplots se realiza comúnmente mediante el método plt.subplots(), que devuelve una figura y un conjunto de ejes. Estos ejes son los contenedores donde se dibujan los gráficos individuales. A través de este método, se especifica el número de filas y columnas que conforman la cuadrícula de subgráficos. 

Por ejemplo, para crear una figura con dos filas y dos columnas de subgráficos, se usaría el siguiente código:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 2)

El resultado visual sería el siguiente:

En este ejemplo, axs es una matriz de ejes que puede ser indexada para acceder a cada subplot individualmente. Esto permite personalizar cada gráfico con diferentes estilos, títulos y datos.

Las grillas en Matplotlib son una herramienta que mejora la legibilidad de los gráficos al proporcionar líneas de referencia horizontales y verticales en el fondo de los subgráficos

Activar las grillas es un proceso sencillo y se realiza a nivel de cada eje utilizando el método ax.grid(True)

Las grillas pueden ser personalizadas en términos de color, estilo de línea y ancho, lo que proporciona flexibilidad para adaptarse a diferentes necesidades de visualización.

El uso combinado de subplots y grillas permite no solo una mejor organización de la información visual, sino también una mayor claridad en la interpretación de los datos. Esta combinación es especialmente útil en análisis de datos complejos donde la comparación entre diferentes gráficos es esencial.

A continuación, un ejemplo de cómo activar las grillas en cada subplot de una figura:

for ax in axs.flat:
    ax.grid(True)

Este enfoque es eficiente y asegura que cada subplot en la cuadrícula tenga sus propias grillas, mejorando la cohesión visual de la figura completa. La capacidad de ajustar cada subplot independientemente es una de las características que hace que Matplotlib sea una herramienta flexible y potente para la visualización de datos.

Creación de subplots

La creación de subplots en Matplotlib es esencial para organizar múltiples visualizaciones en una sola figura. El método plt.subplots() es el enfoque más común y flexible para generar subgráficos. Este método permite especificar la cantidad de filas y columnas que conforman la cuadrícula de subplots, devolviendo un objeto Figure y un arreglo o matriz de objetos Axes. Cada objeto Axes representa un subplot individual que puede ser personalizado de manera independiente.

Por ejemplo, para crear una figura con una disposición de 2x3 subplots, se utilizaría el siguiente código:

import matplotlib.pyplot as plt

fig, axs = plt.subplots(2, 3)

La visualización resultante es la siguiente:

En este ejemplo, axs es una matriz de ejes que puede ser indexada para modificar cada subplot. La personalización de cada subplot se realiza accediendo a sus métodos de dibujo, como plot(), scatter(), o bar(), entre otros. Es importante recordar que cada subplot puede tener su propio conjunto de datos, títulos y configuraciones de estilo.

Además, Matplotlib ofrece la posibilidad de ajustar el espacio entre subplots usando el método plt.subplots_adjust(), que permite modificar parámetros como wspace y hspace para controlar el espacio horizontal y vertical, respectivamente. Esto es crucial para evitar que los subplots se superpongan o queden demasiado separados, manteniendo una presentación visual coherente.

plt.subplots_adjust(wspace=0.4, hspace=0.6)

Otra funcionalidad avanzada es el uso de GridSpec, que proporciona un control más detallado sobre la disposición de subplots. GridSpec permite definir subplots que se extienden sobre múltiples filas o columnas, ofreciendo gran flexibilidad para configuraciones complejas:

import matplotlib.gridspec as gridspec

gs = gridspec.GridSpec(3, 3)
ax1 = plt.subplot(gs[0, :])
ax2 = plt.subplot(gs[1, :-1])
ax3 = plt.subplot(gs[1:, -1])
ax4 = plt.subplot(gs[-1, 0])
ax5 = plt.subplot(gs[-1, -2])

Resultado:

En este ejemplo, ax1 ocupa toda la primera fila, ax2 ocupa las dos primeras columnas de la segunda fila, y así sucesivamente. Este nivel de personalización es útil para visualizaciones avanzadas donde la disposición de gráficos debe adaptarse a necesidades específicas de análisis.

El uso de subplots en Matplotlib no solo mejora la organización visual, sino que también facilita la comparación y análisis de datos relacionados. La capacidad de personalizar cada subplot individualmente y ajustar su disposición dentro de la figura global es fundamental para crear visualizaciones efectivas y comprensibles.

Cuándo utilizar subplots

Los subplots son una herramienta esencial cuando se necesita representar múltiples visualizaciones en una sola figura de manera ordenada y comprensible. 

A continuación, algunos puntos clave sobre cuándo y por qué utilizarlos:

Comparación de datos:

  • Son útiles cuando se desea comparar diferentes conjuntos de datos o mostrar varias perspectivas de un mismo conjunto de datos.
  • Ejemplo típico: en análisis de series temporales, se pueden mostrar diferentes métricas o variables a lo largo del tiempo para facilitar la comparación directa.

Organización de la información:

  • Permiten organizar la información de manera que cada gráfico individual se interprete en el contexto de los otros gráficos presentes en la figura.
  • Ideal para datos complejos que requieren una visualización multidimensional.

Creación de informes y presentaciones:

  • Los subplots son útiles cuando se necesita mostrar una serie de gráficos relacionados de manera compacta y profesional.
  • Ayudan a mantener un aspecto limpio y organizado en reportes y presentaciones.

Cantidad de gráficos y su relación:

  • Es importante considerar cuántos gráficos se van a incluir y cómo se relacionan entre sí.
  • Se puede ajustar el espacio entre los gráficos mediante los parámetros wspace y hspace para evitar solapamientos y mejorar la claridad.

Uso de GridSpec para mayor control:

  • Si se requiere un control más detallado sobre la disposición de los subplots, GridSpec es ventajoso.
  • Permite que algunos gráficos se extiendan sobre múltiples filas o columnas, ofreciendo mayor flexibilidad.
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec

fig = plt.figure(constrained_layout=True)
gs = gridspec.GridSpec(2, 2, figure=fig)
ax1 = fig.add_subplot(gs[0, 0])
ax2 = fig.add_subplot(gs[0, 1])
ax3 = fig.add_subplot(gs[1, :])

ax1.plot([1, 2, 3], [4, 5, 6])
ax2.plot([1, 2, 3], [6, 5, 4])
ax3.plot([1, 2, 3], [5, 5, 5])

plt.show()

La visualización resultante es la siguiente:

En este ejemplo, GridSpec se utiliza para crear una disposición de subplots donde el último gráfico abarca toda la segunda fila, demostrando la flexibilidad que ofrece esta herramienta. En resumen, los subplots son ideales para visualizaciones complejas que requieren una organización clara y coherente, permitiendo a los ingenieros de software y analistas de datos presentar sus hallazgos de manera efectiva y comprensible.

Aprende Matplotlib GRATIS online

Ejercicios de esta lección Subplots y grillas

Evalúa tus conocimientos de esta lección Subplots y grillas con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.

Evaluación código global

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Integración de Matplotlib con Numpy

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Evaluación test global

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Análisis mercado de criptomonedas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Gráficos univariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Gráficos multivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Conceptos básicos de Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Puzzle

Análisis de ventas de videojuegos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Temas predefinidos, colores y estilos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Subplots y grillas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Gráficos bivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Código

Integración de Matplotlib con Pandas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Visualización de datos dataset iris

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Proyecto

Introducción e instalación de Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Ajuste de ejes en matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Puzzle

Integración de Matplotlib con Seaborn

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Títulos, etiquetas y leyenda y límites

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/
Test

Todas las lecciones de Matplotlib

Accede a todas las lecciones de Matplotlib y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.

Introducción E Instalación De Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Introducción Y Entorno

Conceptos Básicos De Matplotlib

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Introducción Y Entorno

Gráficos Univariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Gráficos Bivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Gráficos Multivariantes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Creación De Gráficos

Títulos, Etiquetas Y Leyenda Y Límites

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Temas Predefinidos, Colores Y Estilos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Ejes, Ajustes De Ejes

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Subplots Y Grillas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Personalización De Gráficos

Integración De Matplotlib Con Numpy

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Integración De Matplotlib Con Pandas

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Integración De Matplotlib Con Seaborn

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Integraciones

Evaluación Test De Conocimientos

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Evaluación Matplotlib

Evaluación Conocimiento De Código

2022-09-27T22:26:51.030457 image/svg+xml Matplotlib v3.6.0, https://matplotlib.org/

Evaluación Matplotlib

Accede GRATIS a Matplotlib y certifícate

Certificados de superación de Matplotlib

Supera todos los ejercicios de programación del curso de Matplotlib y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.

En esta lección

Objetivos de aprendizaje de esta lección

1. Comprender la estructura y propósito de los subplots en Matplotlib.

2. Aprender a crear y personalizar subplots utilizando plt.subplots().

3. Entender cuándo es apropiado utilizar subplots para mejorar la visualización de datos.

4. Implementar grillas en subplots para mejorar la legibilidad y comparación de datos.

5. Desarrollar habilidades para ajustar y personalizar subplots y grillas de acuerdo a necesidades específicas de visualización.