A veces me encuentro con un código como este:
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
fig = plt.figure()
fig.add_subplot(111)
plt.scatter(x, y)
plt.show()
Que produce:
He estado leyendo la documentación como loco, pero no puedo encontrar una explicación para el 111
. a veces veo a 212
.
¿Qué significa el argumento de fig.add_subplot()
?
python
matplotlib
figure
contento
fuente
fuente
subplots()
método.subplot()
está aquí ysubplots()
está aquí .Creo que esto se explicaría mejor con la siguiente imagen:
Para inicializar lo anterior, uno escribiría:
fuente
1.5.0
), y parece ser solo Matlab. (Tenga en cuenta que hay otras opciones en Matplotlib para lograr este comportamiento, por ejemplo, gridspec )La respuesta de Constantin es acertada, pero para más antecedentes este comportamiento se hereda de Matlab.
El comportamiento de Matlab se explica en la sección Configuración de la figura: visualización de varios gráficos por figura de la documentación de Matlab.
fuente
Mi solucion es
fuente
El primer código crea la primera subtrama en un diseño que tiene 3 filas y 2 columnas.
Los tres gráficos en la primera columna denotan las 3 filas. El segundo diagrama viene justo debajo del primer diagrama en la misma columna y así sucesivamente.
Las últimas dos parcelas tienen argumentos
(2, 2)
que indican que la segunda columna tiene solo dos filas, los parámetros de posición se mueven de manera inteligente.fuente
fig.add_subplot(ROW,COLUMN,POSITION)
Ejemplos
Hay un total de 2 filas, 1 columna, por lo tanto, se pueden trazar 2 subgrafos. Su ubicación es la 1ra. Hay un total de 2 filas, 1 columna, por lo tanto, se pueden trazar 2 subgrafos. Su ubicación es la 2da.
fuente
El método add_subplot () tiene varias firmas de llamada:
add_subplot(nrows, ncols, index, **kwargs)
add_subplot(pos, **kwargs)
add_subplot(ax)
add_subplot()
<- desde 3.1.0Llamadas 1 y 2:
Las llamadas 1 y 2 logran lo mismo entre sí (hasta un límite, explicado a continuación). Piense en ellos como la primera especificación del diseño de la cuadrícula con sus primeros 2 números (2x2, 1x8, 3x4, etc.), por ejemplo:
Ambos producen una disposición de subtrama de (3 x 4 = 12) subtramas en 3 filas y 4 columnas. El tercer número en cada llamada indica qué objeto de eje devolver, comenzando desde 1 en la parte superior izquierda, aumentando a la derecha .
Este código ilustra las limitaciones del uso de la llamada 2:
Puede ver con la llamada 1 en el LHS que puede devolver cualquier objeto de eje, sin embargo con llamada 2 en el RHS solo puede regresar hasta el índice = 9, representando las subparcelas j), k) y l) inaccesibles usando esta llamada.
Es decir, ilustra este punto de la documentación:
Llamada 3
Llamada 4 (desde 3.1.0):
es decir, reproducir la llamada
fig.add_subplot(111)
en la pregunta.fuente