Cómo trazar en múltiples subtramas
Estoy un poco confundido acerca de cómo funciona este código:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
¿Cómo funcionan los ejes de higo en este caso? ¿Qué hace?
Además, ¿por qué esto no funcionaría para hacer lo mismo?
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
Aceptado
Hay varias formas de hacerlo. El subplots
método crea la figura junto con las subtramas que luego se almacenan en la ax
matriz. Por ejemplo:
import matplotlib.pyplot as plt
x = range(10)
y = range(10)
fig, ax = plt.subplots(nrows=2, ncols=2)
for row in ax:
for col in row:
col.plot(x, y)
plt.show()
Sin embargo, algo como esto también funcionará, aunque no es tan "limpio" ya que estás creando una figura con subtramas y luego agregas encima de ellas:
fig = plt.figure()
plt.subplot(2, 2, 1)
plt.plot(x, y)
plt.subplot(2, 2, 2)
plt.plot(x, y)
plt.subplot(2, 2, 3)
plt.plot(x, y)
plt.subplot(2, 2, 4)
plt.plot(x, y)
plt.show()
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2, 2)
ax[0, 0].plot(range(10), 'r') #row=0, col=0
ax[1, 0].plot(range(10), 'b') #row=1, col=0
ax[0, 1].plot(range(10), 'g') #row=0, col=1
ax[1, 1].plot(range(10), 'k') #row=1, col=1
plt.show()