J'ai mis à niveau de Python (x, y) 2.7.2.3 vers 2.7.6.0 dans Windows 7 (et j'étais heureux de voir que je peux enfin taper function_name?
et voir à nouveau la docstring dans l'inspecteur d'objets) mais maintenant le tracé ne fonctionne pas comme il habitué.
Auparavant (Spyder 2.1.9, IPython 0.10.2, matplotlib 1.2.1), lorsque je tracais ce script , par exemple, il tracerait les sous-parcelles côte à côte dans une fenêtre interactive:
Maintenant (Spyder 2.2.5, IPython 1.2.0, Matplotlib 1.3.1) quand j'essaye de tracer des choses, il fait les sous-tracés comme de minuscules PNG en ligne, ce qui est un changement dans IPython :
Je suis donc entré dans les options et j'ai trouvé ceci:
ce qui semble dire que je peux récupérer les anciennes parcelles interactives, avec les 4 sous-parcelles affichées côte à côte, mais quand je passe en "Automatique" et que j'essaye de tracer quelque chose, ça ne fait rien. Pas de parcelles du tout.
Si je change ce menu déroulant sur Qt, ou décoche «Activer le support», il trace uniquement le premier sous-tracé, ou une partie de celui-ci, puis s'arrête:
Comment obtenir l'ancien comportement de 4 sous-graphiques côte à côte dans une seule figure avec laquelle je peux interagir?
la source
Réponses:
Changez le backend en automatique:
Outils> préférences> Console IPython> Graphiques> Backend graphique> Backend: Automatique
Puis fermez et ouvrez Spyder.
la source
python > preferences > IPython console > Graphics > Graphics backend > Backend: Automatic
Vous pouvez contrôler rapidement cela en tapant des commandes magiques intégrées dans la console IPython de Spyder, ce que je trouve plus rapide que de les choisir dans le menu des préférences. Les modifications prennent effet immédiatement, sans avoir besoin de redémarrer Spyder ou le noyau.
Pour passer aux tracés "automatiques" (c'est-à-dire interactifs), tapez:
puis si vous souhaitez revenir à "en ligne", tapez ceci:
(Remarque: ces commandes ne fonctionnent pas dans les consoles non IPython)
Voir plus d'informations sur ce sujet: Objectif de "% matplotlib inline"
la source
matplotlib inline File "<stdin>", line 1 %matplotlib inline ^ SyntaxError: invalid syntax
Après l'application: Outils> Préférences> Graphiques> Backend> Automatique Redémarrez simplement le noyau
Et vous obtiendrez sûrement un tracé interactif. Bon codage!
la source
Comme indiqué dans les commentaires, le problème réside dans votre script. En fait, il y a 2 problèmes:
None
quelque part. Peut-être à cause du defaultdict?show()
après chaque sous-parcelle.show()
devrait être appelé une fois à la fin de votre script. L'alternative est d'utiliser le mode interactif, recherchezion
dans la documentation de matplotlib.la source
C'est en fait assez facile à réparer et ne nécessite aucun codage:
1.Cliquez sur l'onglet Tracés au-dessus de la console. Ensuite, dans le coin supérieur droit de l'écran des graphiques, cliquez sur le bouton Options. 3.Décochez enfin le bouton "Mute inline plot"
Maintenant, réexécutez votre script et vos graphiques devraient apparaître dans la console.
À votre santé.
la source