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.