99 votes

Matplotlib : comment définir la figure actuelle ?

J'espère que cette question est simple, mais je n'arrive pas à la résoudre pour le moment. Je veux utiliser matplotlib pour afficher 2 chiffres et les utiliser de manière interactive. Je crée les figures avec :

import matplotlib
import pylab as pl

f1 = pl.figure()
f2 = pl.figure()

et peut utiliser l'interface pyplot de type MATLAB pour tracer et dessiner dans les deux figures. Avec

current_figure = pl.gcf()

Je peux déterminer la figure actuellement active pour l'interface pyplot, en fonction de la figure sur laquelle j'ai cliqué. Maintenant, je veux dessiner quelque chose sur la première figure avec l'interface pyplot, mais la figure actuelle peut être l'une ou l'autre. Existe-t-il donc quelque chose comme

pl.set_current_figure(figure)

ou une solution de contournement ? (Je sais que je peux utiliser l'interface orientée objet, mais pour les choses interactives, utiliser des commandes comme plot(x, y) est beaucoup plus agréable).

114voto

EOL Points 24342

Vous pouvez simplement définir le chiffre f1 comme le nouveau chiffre actuel avec :

pl.figure(f1.number)

Une autre option consiste à donner des noms (ou des numéros) aux chiffres, ce qui peut contribuer à rendre le code plus facile à lire :

pl.figure("Share values")
# ... some plots ...
pl.figure("Profits")
# ... some plots ...

pl.figure("Share values")  # Selects the first figure again

En fait, les "chiffres" peuvent être des chaînes de caractères, qui sont sans doute plus explicites que de simples nombres.

PS : L'équivalent pyplot de pylab.figure() es matplotlib.pyplot.figure() .

19voto

Hoa Long Tam Points 452

Donnez un numéro à chaque figure :

f1 = pl.figure(1)
f2 = pl.figure(2)
# use f2
pl.figure(1) # make f1 active again

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X