Pycharm n'affiche pas le tracé du code suivant:
import pandas as pd
import numpy as np
import matplotlib as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
Ce qui se passe, c'est qu'une fenêtre apparaît pendant moins d'une seconde, puis disparaît à nouveau.
En utilisant l'IDE Pyzo IEP (en utilisant le même interpréteur) sur le même code, le tracé s'affiche comme prévu.
... Donc le problème doit être avec certains paramètres sur Pycharm. J'ai essayé d'utiliser à la fois python.exe et pythonw.exe comme interprète avec les mêmes résultats.
C'est mon sys_info:
C:\pyzo2014a\pythonw.exe -u C:\Program Files (x86)\JetBrains\PyCharm Community Edition 3.4.1\helpers\pydev\pydevconsole.py 57315 57316
PyDev console: using IPython 2.1.0import sys; print('Python %s on %s' % (sys.version, sys.platform))
Python 3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, 13:02:30) [MSC v.1600 64 bit (AMD64)] on win32
sys.path.extend(['C:\\Users\\Rasmus\\PycharmProjects\\untitled2'])
In[3]: import IPython
print(IPython.sys_info())
{'commit_hash': '681fd77',
'commit_source': 'installation',
'default_encoding': 'UTF-8',
'ipython_path': 'C:\\pyzo2014a\\lib\\site-packages\\IPython',
'ipython_version': '2.1.0',
'os_name': 'nt',
'platform': 'Windows-8-6.2.9200',
'sys_executable': 'C:\\pyzo2014a\\pythonw.exe',
'sys_platform': 'win32',
'sys_version': '3.4.1 |Continuum Analytics, Inc.| (default, May 19 2014, '
'13:02:30) [MSC v.1600 64 bit (AMD64)]'}
python
matplotlib
pycharm
Rasmus Larsen
la source
la source
plt.pyplot.show()
marche?Réponses:
Juste utiliser
Cette commande indique au système de dessiner le tracé dans Pycharm.
Exemple:
la source
plt.draw()
puisque je mets à jour la figure plus tard?plt.show()
fonctionne bien, maisplt.draw()
ne montre rien dans PyCharm.%matplotlib inline
. @CGFox, draw est explicitement destiné à rendre en mémoire mais pas à afficher à l'écran (ou au fichier). Vous devez soit plt.pause (0.1) pour obtenir les tracés à afficher, soit appeler plt.show (pause = True) à un autre moment du code pour les rendreJe me rends compte que c'est vieux, mais j'ai pensé que je dissiperais une idée fausse pour les autres voyageurs. Mettre
plt.pyplot.isinteractive()
àFalse
signifie que le tracé sera dessiné sur des commandes spécifiques pour dessiner (ieplt.pyplot.show()
). Mettreplt.pyplot.isinteractive()
àTrue
signifie que chaque commandepyplot
(plt
) déclenchera une commande de dessin (ieplt.pyplot.show()
). Donc, ce que vous cherchiez plus que probablement estplt.pyplot.show()
à la fin de votre programme pour afficher le graphique.En passant, vous pouvez raccourcir un peu ces instructions en utilisant la commande d'importation suivante
import matplotlib.pyplot as plt
plutôt quematplotlib as plt
.la source
J'ai eu le même problème. Vérifiez si
plt.isinteractive()
c'est vrai. Le définir sur «False» m'a aidé.la source
J'ai essayé différentes solutions mais ce qui a finalement fonctionné pour moi était
plt.show(block=True)
. Vous devez ajouter cette commande après lamyDataFrame.plot()
commande pour que cela prenne effet. Si vous avez plusieurs tracés, ajoutez simplement la commande à la fin de votre code. Cela vous permettra de voir toutes les données que vous tracez.la source
Travaille pour moi. (PyCharm / OSX)
la source
plt.show()
n'a plus aidé dans une version plus récente de PyCharm (2020.1).Je teste dans ma version de Pycharm (Community Edition 2017.2.2), vous devrez peut-être annoncer à la fois plt.interactive (False) et plt.show (block = True) comme suit:
la source
J'ai trouvé une solution. Cela a fonctionné pour moi:
la source
Peu de temps après avoir appelé
appel
Vous obtiendrez le popup matplotlib avec l'image.
C'est une manière bloquante. Un autre script ne fonctionnera pas tant que le pop ne sera pas fermé.
la source
Avec moi, le problème était le fait que matplotlib utilisait le mauvais backend. J'utilise Debian Jessie.
Dans une console, j'ai fait ce qui suit:
Le résultat était: 'agg', alors que cela devrait être 'TkAgg'.
La solution était simple:
la source
Ajoutez simplement
plt.pyplot.show()
, ce serait bien.La meilleure solution consiste à désactiver SciView.
la source
J'ai testé dans ma version sur PyCharm 2017.1.2. J'ai utilisé interactif (True) et show (block = True).
la source
Rien de ce qui précède n'a fonctionné pour moi, mais ce qui suit:
Désactivez la case à cocher (Afficher les tracés dans la fenêtre d'outils) dans pycharm
settings > Tools > Python Scientific
.J'ai reçu l'erreur
No PyQt5 module found
. Nous sommes allés de l'avant avec l'installation de l'PyQt5
utilisation:Attention, pour certains, seul le premier pas suffit et fonctionne.
la source
Mon env: macOS et anaconda3
Cela fonctionne pour moi:
ou mode interactif:
la source
j'ai eu ce problème et je pourrais le résoudre, vous pouvez tester ma façon .. désactiver "afficher les tracés dans la fenêtre outil" de la configuration -> outils -> python scientifique
la source
Le commentaire de DanT a corrigé cela pour moi, matplotlib avec pycharm sous Linux avec le backend GTKagg. Lors de l'importation de matplotlib, j'obtiendrais l'erreur suivante:
Lorsque vous tracez quelque chose comme ceci:
Un écran de figure apparaîtrait mais aucun graphique n'apparaît. en utilisant:
affiche correctement le graphique.
la source
Dans mon cas, je voulais faire ce qui suit:
Suite à un mélange des solutions ici, ma solution était d'ajouter avant cela les commandes suivantes:
avec les deux importations suivantes
Il semble que toutes les commandes soient nécessaires dans mon cas, avec un MBP avec ElCapitan et PyCharm 2016.2.3. Salutations!
la source
Pour les débutants, vous voudrez peut-être également vous assurer que vous exécutez votre script dans la console et non en tant que code Python normal. Il est assez facile de mettre en évidence un morceau de code et de l'exécuter .
la source
Dans un environnement non interactif, nous devons utiliser plt.show (block = True)
la source
Pour ceux qui exécutent un script dans un IDE (et ne fonctionnent pas dans un environnement interactif tel qu'une console python ou un notebook), j'ai trouvé que c'était la solution la plus intuitive et la plus simple:
Il montre la figure et attend que l'utilisateur clique sur la nouvelle fenêtre. Ce n'est qu'alors qu'il reprend le script et exécute le reste du code.
la source
J'ai pu obtenir une combinaison de certaines des autres suggestions ici fonctionnant pour moi, mais seulement en basculant le
plt.interactive(False)
versTrue
et inversement.Cela fera apparaître mes intrigues. Puis paramétrer sur
False
autorisé pour la visualisation.Comme indiqué également, mon programme ne se fermait pas tant que toutes les fenêtres n'étaient pas fermées. Voici quelques détails sur mon environnement d'exécution actuel:
la source
Une propriété doit être définie pour pycharm.
la source
Remplacez l'importation par:
ou utilisez cette ligne:
la source
J'utilise Ubuntu et j'ai essayé comme @Arie l'a dit ci-dessus mais avec cette ligne uniquement dans le terminal:
Et ça a marché!
la source
Dans Pycharm, parfois le Matplotlib.plot n'apparaîtra pas.
Donc, après avoir appelé,
plt.show()
vérifiez dans la barre d'outils de droite pour SciView. Dans SciView, tous les tracés générés seront stockés.la source
J'étais face à l'erreur ci-dessus lorsque j'essaie de tracer l'histogramme et les points ci-dessous ont fonctionné pour moi.
Système d'exploitation: Mac Catalina 10.15.5
Version Pycharm: version communautaire 2019.2.3
Version Python: 3.7
de :
import matplotlib.pylab as plt
à:
import matplotlib.pyplot as plt
de:
à :
plt.show()
la source