Parfois, je rencontre du code comme celui-ci:
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()
Ce qui produit:
J'ai lu la documentation comme un fou, mais je ne trouve pas d'explication pour le 111
. parfois je vois un 212
.
Que signifie l'argument de fig.add_subplot()
?
python
matplotlib
figure
happyontbelong
la source
la source
subplots()
méthode.subplot()
est ici etsubplots()
est ici .Je pense que cela serait mieux expliqué par l'image suivante:
Pour initialiser ce qui précède, on devrait taper:
la source
1.5.0
), et semble être uniquement Matlab. (Notez qu'il existe d'autres options dans Matplotlib pour obtenir ce comportement, par exemple gridspec )La réponse de Constantin est parfaite, mais pour plus d'informations, ce comportement est hérité de Matlab.
Le comportement de Matlab est expliqué dans la section Configuration de la figure - Affichage de plusieurs tracés par figure de la documentation de Matlab.
la source
Ma solution est
la source
Le premier code crée le premier sous-tracé dans une présentation qui comporte 3 lignes et 2 colonnes.
Les trois graphiques de la première colonne désignent les 3 lignes. Le deuxième tracé vient juste en dessous du premier tracé dans la même colonne et ainsi de suite.
Les deux derniers tracés ont des arguments
(2, 2)
indiquant que la deuxième colonne n'a que deux lignes, les paramètres de position se déplacent par ligne.la source
fig.add_subplot(ROW,COLUMN,POSITION)
Exemples
Il y a un total de 2 lignes, 1 colonne, donc 2 sous-graphiques peuvent être tracés. Son emplacement est le 1er. Il y a un total de 2 lignes, 1 colonne, donc 2 sous-graphiques peuvent être tracés.
la source
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.0Appels 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:
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:
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:
Appelez 3
Appelez 4 (depuis 3.1.0):
c'est-à-dire, reproduire l'appel
fig.add_subplot(111)
dans la question.la source