web-dev-qa-db-fra.com

Tracer en ligne ou une fenêtre séparée en utilisant Matplotlib dans Spyder IDE

Lorsque j'utilise Matplotlib pour tracer certains graphiques, c'est généralement bien pour le dessin en ligne par défaut. Cependant, lorsque je dessine des graphiques 3D, j'aimerais les afficher dans une fenêtre séparée afin que les interactions telles que la rotation puissent être activées. Puis-je configurer dans Python le chiffre à afficher en ligne et celui à afficher dans une nouvelle fenêtre)?

Je sais que dans Spyder, cliquez sur Outils, Préférences, Console Ipython, Graphiques et, sous Graphics Backend, sélectionnez "automatique" au lieu de "en ligne". Cependant, cela fait que tous les chiffres sont dans de nouvelles fenêtres. Cela peut être compliqué quand j'ai beaucoup de terrains. Je souhaite donc que seuls les graphes 3D soient dans de nouvelles fenêtres, mais tous les graphes 2D restent en ligne. Est-ce possible?

Merci!

36
pyan

type

%matplotlib qt

quand vous voulez des graphiques dans une fenêtre séparée et

%matplotlib inline

quand vous voulez un tracé en ligne

41
Stefano Fedele

Allez dans Outils >> Préférences >> Console IPython >> Graphiques >> Arrière-plan: Inline, remplacez "Inline" par "Automatique", cliquez sur "OK".

Réinitialisez le noyau sur la console et le tracé apparaîtra dans une fenêtre séparée

23
AuHgNeM

Commandes magiques telles que

%matplotlib qt  

fonctionne dans la console iPython et le bloc-notes, mais ne fonctionne pas dans un script.

Dans ce cas, après avoir importé:

from IPython import get_ipython

utilisation:

get_ipython().run_line_magic('matplotlib', 'inline')

pour le tracé en ligne du code suivant, et

get_ipython().run_line_magic('matplotlib', 'qt')

pour tracer dans une fenêtre externe.

Edit: la solution ci-dessus ne fonctionne pas toujours, en fonction de la version de votre système d'exploitation/Spyder problème d'Anaconda sur GitHub . Régler le fond graphique sur Automatique (comme indiqué dans une autre réponse: Outils >> Préférences >> Console IPython >> Graphiques -> Automatique) résout le problème pour moi.

Ensuite, après le redémarrage de la console, vous pouvez basculer entre les fenêtres de tracé Inline et External à l’aide de la commande get_ipython (), sans avoir à redémarrer la console.

14
Don Ernesto