La méthode add_subplot () a plusieurs signatures d'appel:
add_subplot(nrows, ncols, index, **kwargs)
add_subplot(pos, **kwargs)
add_subplot(ax)
add_subplot()
<- depuis 3.1.0
Appels 1 et 2:
Les appels 1 et 2 réalisent la même chose l'un l'autre (jusqu'à une limite, expliquée ci-dessous). Considérez-les comme spécifiant d'abord la disposition de la grille avec leurs 2 premiers nombres (2x2, 1x8, 3x4, etc.), par exemple:
f.add_subplot(3,4,1)
# is equivalent to:
f.add_subplot(341)
Les deux produisent un arrangement de sous-parcelles de (3 x 4 = 12) sous-parcelles en 3 lignes et 4 colonnes. Le troisième numéro de chaque appel indique quel objet d'axe retourner, à partir de 1 en haut à gauche, en augmentant vers la droite .
Ce code illustre les limites de l'utilisation de l'appel 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()
Vous pouvez voir avec l' appel 1 sur le LHS que vous pouvez renvoyer n'importe quel objet d'axe, cependant avec l' appel 2 sur le RHS vous ne pouvez renvoyer jusqu'à index = 9 que les sous-tracés de rendu j), k) et l) inaccessibles à l'aide de cet appel.
C'est à dire qu'il illustre ce point de la documentation:
pos est un entier à trois chiffres, où le premier chiffre est le nombre de lignes, le second le nombre de colonnes et le troisième l'indice du sous-tracé. c'est-à-dire fig.add_subplot (235) est le même que fig.add_subplot (2, 3, 5). Notez que tous les entiers doivent être inférieurs à 10 pour que ce formulaire fonctionne .
Appelez 3
Dans de rares circonstances, add_subplot peut être appelé avec un seul argument, une instance d'axes de sous-intrigue déjà créée dans la figure actuelle mais pas dans la liste des axes de la figure.
Appelez 4 (depuis 3.1.0):
Si aucun argument positionnel n'est transmis, la valeur par défaut est (1, 1, 1).
c'est-à-dire, reproduire l'appel fig.add_subplot(111)
dans la question.