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.0
Llamadas 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:
f.add_subplot(3,4,1)
# is equivalent to:
f.add_subplot(341)
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:
#!/usr/bin/env python3
import matplotlib.pyplot as plt
def plot_and_text(axis, text):
'''Simple function to add a straight line
and text to an axis object'''
axis.plot([0,1],[0,1])
axis.text(0.02, 0.9, text)
f = plt.figure()
f2 = plt.figure()
_max = 12
for i in range(_max):
axis = f.add_subplot(3,4,i+1, fc=(0,0,0,i/(_max*2)), xticks=[], yticks=[])
plot_and_text(axis,chr(i+97) + ') ' + '3,4,' +str(i+1))
# If this check isn't in place, a
# ValueError: num must be 1 <= num <= 15, not 0 is raised
if i < 9:
axis = f2.add_subplot(341+i, fc=(0,0,0,i/(_max*2)), xticks=[], yticks=[])
plot_and_text(axis,chr(i+97) + ') ' + str(341+i))
f.tight_layout()
f2.tight_layout()
plt.show()
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:
pos es un número entero de tres dígitos, donde el primer dígito es el número de filas, el segundo el número de columnas y el tercero el índice de la subtrama. es decir, fig.add_subplot (235) es lo mismo que fig.add_subplot (2, 3, 5). Tenga en cuenta que todos los enteros deben ser menores que 10 para que este formulario funcione .
Llamada 3
En raras circunstancias, add_subplot puede llamarse con un solo argumento, una instancia de ejes de subtrama ya creada en la figura actual pero no en la lista de ejes de la figura.
Llamada 4 (desde 3.1.0):
Si no se pasan argumentos posicionales, el valor predeterminado es (1, 1, 1).
es decir, reproducir la llamada fig.add_subplot(111)
en la pregunta.