matplotlib refresh - Quand utiliser cla (), clf () ou close () pour effacer un graphique dans matplotlib?




1 Answers

Ils font tous des choses différentes, puisque matplotlib utilise un ordre hiérarchique dans lequel une fenêtre de chiffres contient une figure qui peut être composée de plusieurs axes. En outre, il existe des fonctions de l'interface pyplot et il existe des méthodes sur la classe Figure . Je vais discuter des deux cas ci-dessous.

interface pyplot

pyplot est un module qui rassemble quelques fonctions permettant à matplotlib d'être utilisé de manière fonctionnelle. Je suppose ici que pyplot a été importé comme import matplotlib.pyplot as plt . Dans ce cas, il existe trois commandes différentes qui suppriment des éléments:

plt.cla() efface un axe , c'est-à-dire l'axe actuellement actif dans la figure actuelle. Il laisse les autres axes intacts.

plt.clf() efface la figure courante entière avec tous ses axes, mais laisse la fenêtre ouverte, de sorte qu'elle peut être réutilisée pour d'autres tracés.

plt.close() ferme une fenêtre , qui sera la fenêtre courante, si elle n'est pas spécifiée autrement.

Les fonctions qui vous conviennent le mieux dépendent donc de votre cas d'utilisation.

La fonction close() permet en outre de spécifier quelle fenêtre doit être fermée. L'argument peut être un nombre ou un nom donné à une fenêtre quand il a été créé en utilisant le figure(number_or_name) ou il peut s'agir d'une figure figure fig obtenue, c'est-à-dire en utilisant fig = figure() . Si aucun argument n'est donné à close() , la fenêtre actuellement active sera fermée. De plus, il y a la syntaxe close('all') , qui ferme toutes les figures.

méthodes de la classe Figure

De plus, la classe Figure fournit des méthodes pour effacer des figures. Je supposerai dans ce qui suit que fig est une instance d'une Figure :

fig.clf() efface la figure entière . Cet appel est équivalent à plt.clf() seulement si fig est la figure courante.

fig.clear() est un synonyme de fig.clf()

Notez que même del fig ne ferme pas la fenêtre de chiffres associée. Pour autant que je sache, la seule façon de fermer une fenêtre figure est d'utiliser plt.close(fig) comme décrit ci-dessus.

clear python

Matplotlib offre des fonctions:

cla()   # Clear axis
clf()   # Clear figure
close() # Close a figure window

La documentation n'offre pas beaucoup d'informations sur la différence entre ces fonctions. Quand dois-je utiliser chaque fonction et que fait-elle exactement?




Related

matplotlib

Tags

matplotlib