Je suis un peu confus sur le fonctionnement de ce code:
fig, axes = plt.subplots(nrows=2, ncols=2)
plt.show()
Comment fonctionnent les haches figues dans ce cas? Qu'est ce que ça fait?
Aussi pourquoi cela ne fonctionnerait-il pas pour faire la même chose:
fig = plt.figure()
axes = fig.subplots(nrows=2, ncols=2)
python
matplotlib
subplot
bugsyb
la source
la source
Réponses:
Il existe plusieurs façons de procéder. La
subplots
méthode crée la figure avec les sous-graphiques qui sont ensuite stockés dans leax
tableau. Par exemple:Cependant, quelque chose comme ça fonctionnera également, ce n'est pas si "propre" car vous créez une figure avec des sous-graphiques, puis ajoutez-les par-dessus:
la source
plot(x, y)
j'ai mon tracé provenant d'une fonction définie par l'utilisateur, qui crée un graphique avec networkx. Comment l'utiliser?axn = ax.flatten()
, puisfor axes in axn: axes.plot(x,y)
la source
ax
est, mais pas ce qui estfig
. Que sont-ils?matplotlib.figure.Figure
classe à travers laquelle vous pouvez effectuer de nombreuses manipulations sur la figure tracée. par exemple, vous pouvez ajouter une barre de couleurs à un sous-tracé spécifique, vous pouvez modifier la couleur d'arrière-plan derrière tous les sous-tracés. vous pouvez modifier la disposition de ces sous-graphiques ou leur ajouter une nouvelle petite hache. de préférence, vous voudrez peut-être un seul titre principal pour toutes les sous-parcelles qui peuvent être obtenues par lafig.suptitle(title)
méthode. enfin une fois que vous êtes satisfait de l'intrigue, vous pouvez l'enregistrer en utilisant lafig.savefig
méthode. @LeevoVous pouvez également décompresser les axes dans l'appel des sous-graphiques
Et définissez si vous souhaitez partager les axes x et y entre les sous-graphiques
Comme ça:
la source
Vous pourriez être intéressé par le fait qu'à partir de la version 2.1 de matplotlib, le deuxième code de la question fonctionne bien aussi.
Depuis le journal des modifications :
Exemple:
la source
lire la documentation: matplotlib.pyplot.subplots
pyplot.subplots()
renvoie un tuplefig, ax
qui est décompressé en deux variables en utilisant la notationle code
ne fonctionne pas car
subplots()
une fonctionpyplot
n'est pas membre de l'objetFigure
.la source