Comment puis-je afficher un matplotlib la figure de la fenêtre au-dessus de toutes les autres fenêtres en Spyder
Je suis en utilisant le Spyder IDE et je trouve que matplotlib figure de windows toujours affiché derrière les autres fenêtres. Par exemple, immédiatement après le démarrage de Spyder, si je tape plt.plot([0,1],[0,1])
dans la console, j'obtiens un complot derrière le principal Spyder fenêtre. Comment puis-je faire de nouvelle figure de l'affichage de windows sur en tête de toutes les autres fenêtres?
J'ai trouvé cette solution (faire matplotlib fenêtre de tracé pop up comme celle qui est active), mais il ne fonctionne pas pour moi en Spyder. J'ai des problemes avec fig.canvas.manager.window
. Il dit AttributeError: 'FigureManagerMac' object has no attribute 'window'
.
On dirait que vous devez définir votre SpyderPrefs à utiliser Qt4Agg ou d'une autre non-MacOS backend pour matplotlib. Fonctionne pour moi après avoir fait cela.
OriginalL'auteur Stretch | 2013-11-16
Vous devez vous connecter pour publier un commentaire.
Bien, je suis tombé sur la solution lorsque je travaillais sur autre chose.
Lorsque j'utilise le
MacOSX
en arrière-plan, puisfig.canvas.manager.window
donneAttributeError: 'FigureManagerMac' object has no attribute 'window'
. Cependant, lorsque j'utilise leTkAgg
en arrière-plan, puisfig.canvas.manager
a l'attributwindow
. Ainsi, je peux mettre en œuvre cette suggestion comme suit:Assez Simple, non? La première partie difficile est, vous devez définir le backend avant d'importer pyplot. Changer le backend par la suite ne fait rien dans mon expérience. La deuxième partie délicate est Spyder Scientifique du script de Démarrage ne
import matplotlib.pyplot as plt
droite lorsque vous lancez le Spyder IDE, vous n'avez donc aucune chance de régler le backend avant pyplot est importé. Le moyen de contourner cela est d'aller dans les Préférences->Console->Modules Externes, définir le GUI Backend à TkAgg, et redémarrer Spyder. Le code ci-dessus fonctionne correctement.Auparavant, j'étais réglage du backend via
matplotlib.rcParams['backend'] = 'TkAgg'
droite après le lancement de Spyder. Quand je faisais quelque chose d'autre, cependant, j'ai commencé à recevoir des erreurs que mentionné à laMacOSX
backend. Cela n'avait aucun sens pour moi, car je pensais que j'ai été en utilisantTkAgg
. Le rageant, c'est quand j'ai interrogématplotlib.get_backend
il est retournéTkAgg
! Apparemment, le réglage du backend après l'importation pyplot agit comme si vous avez changé le backend, mais il ne modifie pas le backend. Argg!!matplotlib
backends: sur Mac, nous avons décidé de la mettre à l'MacOSX
indépendamment des préférences de l'utilisateur car elle est la plus fiable, mais compte tenu de votre confusion, je pense que nous devons revoir cette décision. Je vais le faire pour notre prochaine sortie de la version 2.3 🙂OriginalL'auteur Stretch