Agregar subplot a una figura en Matplotlib
-
Agregar subplot a una figura usando el método
matplotlib.pyplot.figure.add_subplot()
-
Crear una figura con subplots usando
Matplotlib.pyplot.subplots()

Este tutorial explica cómo podemos agregar subplots a una figura Matplotlib utilizando el método matplotlib.pyplot.figure.add_subplot()
en Python.
Agregar subplot a una figura usando el método matplotlib.pyplot.figure.add_subplot()
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(5,5))
x=[1,2,3,4,5]
y=[2,4,5,1,2]
subplot=fig.add_subplot(1,1,1)
subplot.plot(x, y)
fig.suptitle("Figure with only one Subplot")
plt.show()
Resultado:
Genera una figura con una sola subplot. La figura puede interpretarse como un elemento de alto nivel que contiene todas las subplots y otros elementos de la figura. Primero inicializamos la figura objeto de tamaño (5,5)
y luego agregamos una subplot a la figura usando el método add_subplot()
. El primer argumento del método add_subplot()
representa el número de filas de la subplot en la figura, el segundo argumento representa el número de columnas de la subplot, y el tercer argumento representa la posición de una subplot en la cuadrícula.
Aquí, fig.add_subplot(1,1,1)
agregará una subplot en la primera posición de la cuadrícula 1 X 1
de la figura. Alternativamente, también podemos usar fig.add_subplot(111)
para lograr el mismo resultado. El método add_subplot()
devuelve un objeto axes
, que puede ser usado para trazar y añadir detalles a la subplot añadida.
import matplotlib.pyplot as plt
fig=plt.figure(figsize=(8,6))
ax_1=fig.add_subplot(121)
ax_1.text(0.3, 0.5, 'subplot(121)')
ax_2=fig.add_subplot(222)
ax_2.text(0.3, 0.5, 'subplot(222)')
ax_3=fig.add_subplot(224)
ax_3.text(0.3, 0.5, 'subplot(224)')
fig.suptitle("Figure with multiple Subplots")
plt.show()
Resultado:
Aquí, tenemos una figura con tres subplots. La primera subplot es la primera figura de la cuadrícula con una fila y dos columnas. La segunda subplot representa la segunda figura en la cuadrícula con dos filas y dos columnas. De manera similar, la tercera fila representa la subplot en la cuarta posición de la cuadrícula con dos filas y dos columnas.
Crear una figura con subplots usando Matplotlib.pyplot.subplots()
El Matplotlib.pyplot.subplots()
también añade subplots a la figura. Le pasamos el número de filas y columnas como argumento al método, y el método devuelve un objeto de la figura y un objeto de los ejes, que pueden ser usados para manipular el gráfico.
import matplotlib.pyplot as plt
fig,ax=plt.subplots(2,1)
ax[0].text(0.3,0.5,"1st Subplot")
ax[0].set_xticks([])
ax[0].set_yticks([])
ax[1].text(0.3,0.5,"2nd Subplot")
ax[1].set_xticks([])
ax[1].set_yticks([])
fig.suptitle('Figure with 2 subplots',fontsize=16)
plt.show()
Resultado:
Genera una figura con dos subplots en una cuadrícula de dos filas y una sola columna usando el método subplots()
. La primera subplot o los ejes de la parte superior pueden ser manipulados con el primer elemento de la lista de los ax
, y la segunda subplot o los ejes de la parte inferior pueden ser manipulados con el segundo elemento de la lista de los ax
.
import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y1=[i**2 for i in x ]
y2=[4*i+1 for i in x]
fig,ax=plt.subplots(2,1)
ax[0].plot(x,y1)
ax[0].set_xlabel("X")
ax[0].set_ylabel("Y")
ax[1].plot(x,y2)
ax[1].set_xlabel("X")
ax[1].set_ylabel("Y")
plt.tight_layout()
plt.show()
Resultado:
Genera una figura con dos subplots, traza la función x^2
en la subplot superior, y traza la función 4x+1
en la subplot inferior.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArtículo relacionado - Matplotlib Subplot
- Cómo crear diferentes tamaños de subtramas en Matplotlib
- Cómo añadir título a las subtramas en Matplotlib
- Cómo mejorar el tamaño o el espaciado de las subplots con muchas subplots en Matplotlib