Pycharm no muestra la trama del siguiente código:
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()
Lo que sucede es que aparece una ventana durante menos de un segundo y luego vuelve a desaparecer.
Usando el Pyzo IEP IDE (usando el mismo intérprete) en el mismo código, el gráfico muestra como se esperaba.
... Entonces, el problema debe estar con alguna configuración en Pycharm. Intenté usar python.exe y pythonw.exe como intérprete, ambos con los mismos resultados.
Este es mi 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
fuente
fuente
plt.pyplot.show()
el trabajo?Respuestas:
Solo usa
Este comando le dice al sistema que dibuje el diagrama en Pycharm.
Ejemplo:
fuente
plt.draw()
ya que actualizo la figura más adelante?plt.show()
funciona bien, peroplt.draw()
no muestra nada en PyCharm.%matplotlib inline
. @CGFox, dibujar está destinado explícitamente a representar en la memoria pero no a mostrar en la pantalla (o archivo). Necesita plt.pause (0.1) para que se muestren los gráficos, o llame a plt.show (pause = True) en algún otro punto del código para que seMe doy cuenta de que esto es antiguo, pero pensé que aclararía un concepto erróneo para otros viajeros. Establecer
plt.pyplot.isinteractive()
enFalse
significa que la trama se dibujará con comandos específicos para dibujar (es decirplt.pyplot.show()
). Establecerplt.pyplot.isinteractive()
enTrue
significa que cada comandopyplot
(plt
) activará un comando de dibujo (es decirplt.pyplot.show()
). Entonces, lo que probablemente estaba buscando esplt.pyplot.show()
al final de su programa para mostrar el gráfico.Como nota al margen, puede acortar un poco estas declaraciones utilizando el siguiente comando de importación en
import matplotlib.pyplot as plt
lugar dematplotlib as plt
.fuente
Yo tuve el mismo problema. Compruebe si
plt.isinteractive()
es cierto. Establecerlo en 'Falso' me ayudó.fuente
Probé diferentes soluciones, pero lo que finalmente funcionó para mí fue
plt.show(block=True)
. Debe agregar este comando después delmyDataFrame.plot()
comando para que esto surta efecto. Si tiene un gráfico múltiple, simplemente agregue el comando al final de su código. Le permitirá ver todos los datos que está trazando.fuente
Funciona para mi. (PyCharm / OSX)
fuente
plt.show()
no me ayudó en una versión más nueva de PyCharm (2020.1).Probé en mi versión de Pycharm (Community Edition 2017.2.2), es posible que deba anunciar tanto plt.interactive (False) como plt.show (block = True) de la siguiente manera:
fuente
He encontrado una solución. Esto funcionó para mí:
fuente
Poco después de llamar
llamada
Obtendrá la ventana emergente matplotlib con la imagen.
Esta es una forma de bloqueo. La secuencia de comandos adicional no se ejecutará hasta que se cierre la ventana emergente.
fuente
Para mí, el problema era el hecho de que matplotlib estaba usando el backend incorrecto. Estoy usando Debian Jessie.
En una consola hice lo siguiente:
El resultado fue: 'agg', mientras que este debería ser 'TkAgg'.
La solución fue simple:
fuente
Solo agregue
plt.pyplot.show()
, eso estaría bien.La mejor solución es deshabilitar SciView.
fuente
Probé en mi versión en PyCharm 2017.1.2. Usé interactivo (Verdadero) y mostrar (bloque = Verdadero).
fuente
Ninguno de los anteriores funcionó para mí, pero lo siguiente sí:
Desactive la casilla de verificación (Mostrar gráficos en la ventana de herramientas) en pycharm
settings > Tools > Python Scientific
.Recibí el error
No PyQt5 module found
. Siguió adelante con la instalación dePyQt5
usar:Tenga en cuenta que para algunos solo el primer paso es suficiente y funciona.
fuente
Mi env: macOS y anaconda3
Esto funciona para mi:
o modo interactivo:
fuente
Tuve este problema y pude resolverlo, puedes probar a mi manera ... deshabilita "mostrar gráficos en la ventana de herramientas" desde la configuración -> herramientas -> Python Scientific
fuente
El comentario de DanT solucionó esto para mí, matplotlib con pycharm en Linux con el backend GTKagg. Al importar matplotlib obtendría el siguiente error:
Al trazar algo así:
Aparecerá una pantalla de figuras pero no aparecerán gráficos. utilizando:
muestra el gráfico correctamente.
fuente
En mi caso, quería hacer lo siguiente:
Siguiendo una combinación de las soluciones aquí, mi solución fue agregar antes de eso los siguientes comandos:
con las siguientes dos importaciones
Parece que todos los comandos son necesarios en mi caso, con un MBP con ElCapitan y PyCharm 2016.2.3. ¡Saludos!
fuente
Para los principiantes, es posible que también desee asegurarse de que está ejecutando su script en la consola , y no como código Python normal. Es bastante fácil resaltar un fragmento de código y ejecutarlo .
fuente
En env no interactivo, tenemos que usar plt.show (block = True)
fuente
Para aquellos que ejecutan un script dentro de un IDE (y no trabajan en un entorno interactivo como una consola de Python o un portátil), encontré que esta es la solución más intuitiva y simple:
Muestra la figura y espera hasta que el usuario haga clic en la nueva ventana. Solo entonces reanuda el script y ejecuta el resto del código.
fuente
Pude obtener una combinación de algunas de las otras sugerencias aquí que funcionaron para mí, pero solo mientras alternaba
plt.interactive(False)
entre síTrue
y viceversa.Esto mostrará mis parcelas. Luego, establezca para
False
permitir la visualización.Como se señaló también, mi programa no se cerraría hasta que todas las ventanas estuvieran cerradas. Aquí hay algunos detalles sobre mi entorno de ejecución actual:
fuente
Es necesario establecer una propiedad para pycharm.
fuente
Cambiar la importación a:
o usa esta línea:
fuente
Estoy usando Ubuntu e intenté como @Arie dijo anteriormente pero con esta línea solo en la terminal:
¡Y funcionó!
fuente
En Pycharm, a veces el Matplotlib.plot no aparece.
Entonces, después de llamar,
plt.show()
verifique en la barra de herramientas del lado derecho para SciView. Dentro de SciView se almacenarán todos los gráficos generados.fuente
Me enfrentaba al error anterior cuando trato de trazar un histograma y los puntos inferiores funcionaron para mí.
Sistema operativo: Mac Catalina 10.15.5
Versión de Pycharm: versión comunitaria 2019.2.3
Versión de Python: 3.7
de :
import matplotlib.pylab as plt
a:
import matplotlib.pyplot as plt
de:
a :
plt.show()
fuente