En la programación de gráficos con Matplotlib, las figuras y subplots se utilizan para organizar y visualizar múltiples gráficos en una sola figura. Una figura es el objeto principal de una visualización en Matplotlib, y puede contener uno o varios subplots, que a su vez son áreas separadas de trazado dentro de una figura.
Mediante el uso de subplots, podemos crear visualizaciones más complejas y ricas en contenido, que permiten comparar y analizar múltiples conjuntos de datos en una sola figura. Además, podemos controlar la disposición y el tamaño de cada uno de los subplots, personalizar su aspecto y estilo, y agregar leyendas, títulos y etiquetas para mejorar la interpretación de la información presentada.
En resumen, las figuras y subplots son una poderosa herramienta para generar visualizaciones más sofisticadas y efectivas en Matplotlib, que permiten aprovechar al máximo las capacidades de esta biblioteca de gráficos en la programación científica y análisis de datos.
En Matplotlib, una figura es el contenedor principal para cada plot o gráfico que vamos a crear, y puede contener uno o varios subplots. Los subplots, por su parte, son las áreas dentro de la figura donde se trazan uno o varios gráficos. El uso de figuras y subplots permite crear múltiples gráficos en una sola figura, lo que es útil para comparar datos de diferentes fuentes o para mostrar información desde diferentes perspectivas.
Para crear una figura, usamos la función `plt.figure()`. Esta nos devuelve un objeto de tipo Figure, que será el contenedor para los subplots. Para crear subplots, usamos la función `plt.subplots()`. Esta función crea un conjunto de subplots, especificando el número de filas y columnas de subplots que queremos tener en la figura. Por ejemplo, `plt.subplots(2, 3)` creará una figura con 2 filas y 3 columnas de subplots. Podemos acceder a cada subplot especificando su número de fila y columna, por ejemplo, el subplot de la primera fila y primera columna sería `subplot[0,0]`.
A continuación, un ejemplo de cómo crear una figura con tres subplots:
import matplotlib.pyplot as plt
import numpy as np
# Creamos una figura con dos subplots
fig, axs = plt.subplots(1, 3, figsize=(9, 3))
# Creamos datos de ejemplo
x = np.linspace(0, 2*np.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# Graficamos cada función en su subplot correspondiente
axs[0].plot(x, y1)
axs[1].plot(x, y2)
axs[2].plot(x, y3)
# Añadimos títulos y etiquetas correspondientes
axs[0].set_title('sin(x)')
axs[1].set_title('cos(x)')
axs[2].set_title('tan(x)')
fig.suptitle('Ejemplo de subplots')
plt.show()
En este ejemplo, hemos creado una figura con una fila y tres columnas de subplots y graficado tres funciones en cada subplot. También hemos añadido títulos a los subplots y un título general a la figura. Al final, hemos mostrado la figura usando `plt.show()`.
Un ejemplo práctico del uso de subplots y figuras en Matplotlib podría ser el siguiente:
Supongamos que deseas crear una figura que contiene dos gráficos diferentes, uno que muestra la distribución de los datos en una variable y otro que muestra la relación entre dos variables. Puedes utilizar la función subplots
para crear una figura con dos gráficos usando las siguientes líneas de código:
import matplotlib.pyplot as plt
# Crea una figura con dos gráficos
fig, axs = plt.subplots(1, 2, figsize=(12, 5))
# Subplot 1: Histograma de la variable 'edad'
axs[0].hist(edad)
# Subplot 2: Diagrama de dispersión entre 'edad' y 'ingresos'
axs[1].scatter(edad, ingresos)
axs[1].set_xlabel('Edad')
axs[1].set_ylabel('Ingresos')
En las líneas de código anteriores, figsize
define el tamaño de la figura, axs
es una matriz de ejes que representa los gráficos (en este caso, dos gráficos en una fila y dos columnas), y cada gráfico se crea utilizando los métodos correspondientes de los objetos axs[0]
y axs[1]
. Además, puedes agregar títulos, etiquetas de ejes y otra información adicional para personalizar el gráfico si lo deseas.
De esta manera, con el uso de subplots y figuras en Matplotlib, puedes crear múltiples gráficos en una sola figura para ilustrar diferentes aspectos de tus datos.
Un ejemplo en Python de cómo usar subplots y figuras en Matplotlib:
Supongamos que queremos hacer un gráfico con tres subplots en una sola figura. Podríamos hacerlo de la siguiente manera:
import matplotlib.pyplot as plt
import numpy as np
# Creamos los datos para cada subplot
x = np.linspace(0, 2 * np.pi, 400)
y1 = np.sin(x)
y2 = np.cos(x)
y3 = np.tan(x)
# Creamos la figura y los subplots
fig, axs = plt.subplots(3, 1, figsize=(8, 6))
# Graficamos en cada subplot
axs[0].plot(x, y1, color='red')
axs[1].plot(x, y2, color='blue')
axs[2].plot(x, y3, color='green')
# Configuramos el título de la figura
fig.suptitle('Gráficos de funciones trigonométricas')
# Agregamos etiquetas y títulos a cada subplot
axs[0].set_ylabel('sin(x)')
axs[1].set_ylabel('cos(x)')
axs[2].set_ylabel('tan(x)')
axs[2].set_xlabel('x')
# Mostramos la figura
plt.show()
Este código generaría una figura con tres subplots, uno para cada función trigonométrica. En cada subplot se grafica la función correspondiente y se agrega un título y etiquetas para los ejes x e y. También se agrega un título general para toda la figura.
-
Introducción a Matplotlib
-
Tipos de gráficos fundamentales
-
Personalización de gráficos
-
Uso de subplots y figuras
-
Gráficos 3D con Matplotlib
-
Animaciones con Matplotlib
-
Interactividad con widgets de Matplotlib
-
Visualización de datos geográficos con Matplotlib y Basemap
-
Creación de gráficos de barras y gráficos circulares
-
Creación de gráficos de superficie y calor mediante la librería Seaborn