Quelle est la différence entre les méthodes Axes.plot()
et pyplot.plot()
? En utilise-t-on un autre comme sous-programme?
Il semble que mes options de traçage soient
line = plt.plot(data)
ou
ax = plt.axes()
line = ax.plot(data)
ou même
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
line = ax.plot(data)
Y a-t-il des situations où il est préférable d'utiliser l'un plutôt que l'autre?
Pour dessiner un seul tracé, la meilleure pratique est probablement
fig = plt.figure()
plt.plot(data)
fig.show()
Maintenant, jetons un œil à 3 exemples du queston et expliquons ce qu'ils font.
Prend la figure et les axes actuels (si aucun n'existe, il en créera un nouveau) et tracez-les.
line = plt.plot(data)
Dans votre cas, le comportement est le même que précédemment avec la mention explicite des axes du tracé.
ax = plt.axes()
line = ax.plot(data)
Cette approche de l'utilisation de ax.plot(...)
est indispensable, si vous souhaitez tracer sur plusieurs axes (éventuellement sur une seule figure). Par exemple, lorsque vous utilisez un sous-tracés .
Crée explicitement une nouvelle figure - vous n'ajouterez rien à la précédente. Crée explicitement un nouvel axe avec une forme de rectangle donnée et le reste est le même qu'avec 2.
fig = plt.figure()
ax = fig.add_axes([0,0,1,1])
line = ax.plot(data)
un problème possible en utilisant figure.add_axes
est qu'il peut ajouter un nouvel objet axes à la figure, qui superposera le premier (ou d'autres). Cela se produit si la taille demandée ne correspond pas à celles existantes.
Il n'y a essentiellement aucune différence. plt.plot
va à un moment donné (après s'être assuré qu'il y a une figure et des axes disponibles pour tracer) appeler la fonction de tracé à partir de cette instance d'axes.
Donc, la principale différence est plutôt du côté de l'utilisateur:
pyplot
.Vous voudrez peut-être lire le matplotlib guide d'utilisation .
Les méthodes de traçage de Pyplot peuvent être appliquées à la racine de Pyplot (pyplot.plot ()) ou à un objet axes (axes.plot ()).
L'appel d'une fonction de traçage directement sur la bibliothèque Pyplot (pyplot.plot ()) crée un sous-tracé par défaut (figure et axes). L'appeler sur un objet axes (axes.plot ()) nécessite que vous ayez déjà créé votre propre objet axes et place le graphique sur cet espace de traçage personnalisé.
Bien que pyplot.plot () soit facile à utiliser, vous avez plus de contrôle sur votre espace (et mieux en mesure de comprendre l'interaction avec d'autres bibliothèques) si vous créez un objet axes axes.plot ().
Axes.plot () renvoie un objet axes. Chaque objet axes a un objet figure parent. L'objet axes contient les méthodes de traçage, ainsi que la plupart des options de personnalisation, tandis que l'objet figure stocke tous les attributs au niveau de la figure et permet au tracé de sortir sous forme d'image.
Si vous utilisez la méthode pyplot.plot () et souhaitez commencer à personnaliser vos axes, vous pouvez trouver le nom de l'objet d'axes par défaut qu'il a créé en appelant pyplot.gca () pour "obtenir les axes actuels".
python plt.plot (): il créera de nombreux sous-intrigues par défaut et enregistrera de nombreuses lignes de code faciles à comprendre
Axes.plot (): l'utilisation de l'objet axes vous donnera plus de possibilité de personnaliser votre espace de traçage