Différences entre les méthodes cla(), clf() et close() dans Matplotlib
La méthode matplotlib.pyplot.cla()
efface les axes courants, la méthode matplotlib.pyplot.clf()
efface la figure courante, et la méthode matplotlib.pyplot.close()
ferme toute la fenêtre.
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(2, 1)
ax[0].plot(x, y1)
ax[0].set_xlabel("x")
ax[0].set_ylabel("sinx")
ax[0].set_title("Plot of sinx")
ax[1].plot(x, y2)
ax[1].set_xlabel("x")
ax[1].set_ylabel("cosx")
ax[1].set_title("Plot of cosx")
fig.suptitle("Plot of sinx and cosx", fontsize=16)
fig.tight_layout(pad=3.0)
plt.show()
Production:
Nous utiliserons ce chiffre pour expliquer ces fonctions : cla()
, clf()
et close()
. La figure consiste en une figure avec deux sous-tracés ; le sous-tracé de la ligne supérieure est le tracé de la fonction sinx
, tandis que le sous-tracé de la ligne inférieure représente le tracé de la fonction cosx
.
matplotlib.pyplot.cla()
La commande matplotlib.pyplot.cla()
est utilisée pour effacer les axes actuels dans Matplotlib. Les Axes
sont simplement une partie d’une figure, généralement un sous-plot et ses détails.
Exemple : matplotlib.pyplot.cla()
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(2, 1)
ax[0].plot(x, y1)
ax[0].set_xlabel("x")
ax[0].set_ylabel("sinx")
ax[0].set_title("Plot of sinx")
ax[1].plot(x, y2)
ax[1].set_xlabel("x")
ax[1].set_ylabel("cosx")
ax[1].set_title("Plot of cosx")
ax[1].cla()
fig.suptitle("Plot of sinx and cosx", fontsize=16)
fig.tight_layout(pad=3.0)
plt.show()
Production:
Ici, on peut voir que la méthode cla()
efface les axes ax[1]
, c’est-à-dire la deuxième ligne de la sous-placette. Effacer les axes signifie supprimer la sous-placette avec ses détails, tels que xlabel
, ylabel
, et le title
; cependant, les axes ax[0]
ou la sous-placette de la rangée supérieure ne sont pas modifiés par la méthode parce que cla()
n’a été invoquée que par les axes “ax[1]”.
matplotlib.pyplot.cla()
Le matplotlib.pyplot.clf()
efface le chiffre entier dans Matplotlib. Une figure peut être considérée comme la vue d’ensemble d’une intrigue, constituée de tous les détails de l’intrigue comme les sous-intrigues, les sous-axes, les titres et les légendes.
Exemple : matplotlib.pyplot.clf()
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(2, 1)
ax[0].plot(x, y1)
ax[0].set_xlabel("x")
ax[0].set_ylabel("sinx")
ax[0].set_title("Plot of sinx")
ax[1].plot(x, y2)
ax[1].set_xlabel("x")
ax[1].set_ylabel("cosx")
ax[1].set_title("Plot of cosx")
fig.suptitle("Plot of sinx and cosx", fontsize=16)
fig.tight_layout(pad=3.0)
plt.clf()
plt.show()
Production:
Ici, on peut voir que la méthode clf()
efface tout dans la parcelle. Ce processus inclut tous les axes ; cependant, la fenêtre du tracé est toujours là, ce qui peut être réutilisé pour générer d’autres chiffres.
Gardez à l’esprit que nous ne pouvons pas utiliser la méthode clf()
pour chaque axe.
matplotlib.pyplot.close()
La méthode matplotlib.pyplot.close()
ferme simplement la fenêtre des figures dans Matplotlib, et nous ne verrons rien en appelant la méthode plt.show()
.
Exemple : matplotlib.pyplot.close()
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2 * math.pi, 100)
y1 = np.sin(x)
y2 = np.cos(x)
fig, ax = plt.subplots(2, 1)
ax[0].plot(x, y1)
ax[0].set_xlabel("x")
ax[0].set_ylabel("sinx")
ax[0].set_title("Plot of sinx")
ax[1].plot(x, y2)
ax[1].set_xlabel("x")
ax[1].set_ylabel("cosx")
ax[1].set_title("Plot of cosx")
fig.suptitle("Plot of sinx and cosx", fontsize=16)
fig.tight_layout(pad=3.0)
plt.close()
plt.show()
Le script ne génère aucune sortie car la méthode close()
efface la figure et ferme la fenêtre ; nous ne verrons rien en utilisant le processus plt.show()
.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedInArticle connexe - Matplotlib Axes
- Comment faire pivoter le texte des étiquettes à cocher sur l'axe X dans Matplotlib
- Comment définir la taille de la police des étiquettes à cocher dans Matplotlib
- Comment ajouter une étiquette sur l'axe des y à l'axe des y secondaire dans Matplotlib
- Comment tracer des axes logarithmiques dans Matplotlib
- Comment faire un tracé carré avec des axes égaux dans Matplotlib
- Comment définir des limites pour les axes dans Matplotlib