Estoy un poco confundido acerca de cómo funciona este código:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
¿Cómo funciona el higo, los ejes 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)
python
matplotlib
subplot
bugsyb
fuente
fuente
Respuestas:
Hay varias formas de hacerlo. El
subplots
método crea la figura junto con las subtramas que luego se almacenan en laax
matriz. Por ejemplo:Sin embargo, algo como esto también funcionará, aunque no es tan "limpio" ya que está creando una figura con subtramas y luego agrega encima de ellas:
fuente
plot(x, y)
que mi trama provenga de una función definida por el usuario, que crea un gráfico con networkx. ¿Cómo usarlo?axn = ax.flatten()
y luegofor axes in axn: axes.plot(x,y)
fuente
ax
es, pero no lo que esfig
. ¿Qué son?matplotlib.figure.Figure
clase a través de la cual puedes manipular mucho la figura trazada. por ejemplo, puede agregar una barra de colores a una subtrama específica, puede cambiar el color de fondo detrás de todas las subtramas. puede modificar el diseño de estas subtramas o agregarles un nuevo hacha pequeña. preferiblemente puede querer un solo título principal para todas las subtramas que se pueden obtener a través delfig.suptitle(title)
método. Finalmente, una vez que esté satisfecho con la trama, puede guardarla utilizando elfig.savefig
método. @LeevoTambién puede desempaquetar los ejes en la llamada de subtramas
Y establezca si desea compartir los ejes X e Y entre las subtramas
Me gusta esto:
fuente
Es posible que le interese el hecho de que a partir de la versión 2.1 de matplotlib, el segundo código de la pregunta también funciona bien.
Desde el registro de cambios :
Ejemplo:
fuente
lea la documentación: matplotlib.pyplot.subplots
pyplot.subplots()
devuelve una tuplafig, ax
que se desempaqueta en dos variables usando la notaciónel código
no funciona porque
subplots()
es una función quepyplot
no es miembro del objetoFigure
.fuente