Agregar subplot a una figura en Matplotlib

  1. Agregar subplot a una figura usando el método Matplotlib.figure.Figure.add_subplot()
  2. 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.figure.Figure.add_subplot() en Python.

Agregar subplot a una figura usando el método Matplotlib.figure.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:

Agregar una subplot a la figura matplotlib

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:

Agregar múltiples subplots a una figura matplotlib

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:

Agregar múltiples subplots a una figura matplotlib usando el método de subplots

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:

Personalizar subplots a una figura matplotlib usando el método de subplots

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.

Artí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