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.
LinkedIn