Pycharm no muestra ttwig

Pycharm no muestra la ttwig 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.

Utilizando el IDE de PyEP de Pyzo (utilizando el mismo intérprete) en el mismo código que muestra el gráfico como se esperaba.

… Así que el problema debe ser con algunos ajustes en Pycharm. He intentado usar ambos python.exe y pythonw.exe como intérprete 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)]'} 

Yo tuve el mismo problema. Compruebe si plt.isinteractive() es Verdadero. Ponerlo en ‘Falso’ me ayudó.

 plt.interactive(False) 

Solo usa

 plt.show() 

Lo hace el truco, pero no sé por qué.

Me doy cuenta de que esto es viejo, pero pensé que me gustaría aclarar una idea errónea para otros viajeros. Establecer plt.pyplot.isinteractive () en ‘Falso’ significa que el trazado se dibujará en comandos específicos para dibujar (es decir, plt.pyplot.show ()). Establecer plt.pyplot.isinteractive () en ‘Verdadero’ significa que cada comando pyplot (plt) activará un comando de dibujo (es decir, plt.pyplot.show ()). Entonces, lo que más buscabas es plt.pyplot.show () al final de tu progtwig para mostrar el gráfico.

Como nota al margen, puede acortar un poco estas afirmaciones utilizando el siguiente comando de importación ‘importar matplotlib.pyplot como plt’ en lugar de ‘matplotlib como plt’

plt.show(block=True) diferentes soluciones, pero lo que finalmente me plt.show(block=True) fue plt.show(block=True) . myDataFrame.plot() agregar este comando después del comando myDataFrame.plot() para que esto tenga efecto. Si tiene varios gráficos, simplemente agregue el comando al final de su código. Te permitirá ver todos los datos que estás trazando.

 import matplotlib matplotlib.use('TkAgg') 

Funciona para mi. (PyCharm / OSX)

He encontrado una solución. Esto funcionó para mí:

 import numpy as np import matplotlib.pyplot as plt points = np.arange(-5, 5, 0.01) dx, dy = np.meshgrid(points, points) z = (np.sin(dx)+np.sin(dy)) plt.imshow(z) plt.colorbar() plt.title('plot for sin(x)+sin(y)') plt.show() 

Pruebo 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:

 import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 6.28, 100) plt.plot(x, x**0.5, label='square root') plt.plot(x, np.sin(x), label='sinc') plt.xlabel('x label') plt.ylabel('y label') plt.title("test plot") plt.legend() plt.show(block=True) plt.interactive(False) 

Conmigo el problema fue el hecho de que matplotlib estaba usando el backend incorrecto. Estoy usando Debian Jessie.

En una consola hice lo siguiente:

 import matplotlib matplotlib.get_backend() 

El resultado fue: ‘agg’, mientras que este debería ser ‘TkAgg’.

La solución fue simple:

  1. Desinstalar matplotlib a través de pip
  2. Instale las bibliotecas apropiadas: sudo apt-get install tcl-dev tk-dev python-tk python3-tk
  3. Instale matplotlib a través de pip de nuevo.

Simplemente agregue plt.pyplot.show() , eso estaría bien.

La mejor solución es deshabilitar SciView.

Poco después de llamar

 plt.imshow() 

llamada

 plt.show(block = True) 

Obtendrá la ventana emergente matplotlib con la imagen.

Esta es una forma de locking. La secuencia de comandos adicional no se ejecutará hasta que se cierre el pop.

He probado en mi versión en PyCharm 2017.1.2. Utilicé interactivo (True) y show (block = True).

 import pandas as pd import numpy as np import matplotlib.pyplot as plt ts = pd.Series(np.random.randn(1000), index=pd.date_range('1//2000',periods=1000)) ts = ts.cumsum() plt.interactive(True) ts.plot() plt.show(block=True) 

Mi env: macOS y anaconda3

Esto funciona para mí:

 matplotlib.use('macosx') 

o modo interactivo:

 matplotlib.use('TkAgg') 

Pude obtener una combinación de algunas de las otras sugerencias aquí que funcionaron para mí, pero solo mientras pasaba el interruptor interactivo (Falso) a “Verdadero” y regresaba.

 plt.interactive(True) plt.pyplot.show() 

Esto hará brillar las plots. Luego se establece en ‘Falso’ permitido para ver.

 plt.interactive(False) plt.pyplot.show() 

Como se señaló también, mi progtwig no saldría hasta que se cerraran todas las ventanas. Aquí hay algunos detalles sobre mi entorno de ejecución actual: Python versión 2.7.6 | Anaconda 1.9.2 (x86_64) | (predeterminado, 10 de enero de 2014, 11:23:15) [GCC 4.0.1 (Apple Inc. build 5493)] Versión de Pandas: 0.13.1

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:

 >>> import matplotlib as mpl Backend GTKAgg is interactive backend. Turning interactive mode on. Failed to enable GUI event loop integration for 'gtk' 

Al trazar algo así:

 from matplotlib import pyplot as plt plt.figure() plt.plot(1,2) plt.show() 

Aparecerá una pantalla de figura, pero no aparecen gráficos. utilizando:

 plt.show(block=True) 

muestra el gráfico correctamente.

En mi caso, quise hacer lo siguiente:

  plt.bar(range(len(predictors)), scores) plt.xticks(range(len(predictors)), predictors, rotation='vertical') plt.show() 

Siguiendo una combinación de las soluciones aquí, mi solución fue agregar antes que los siguientes comandos:

  matplotlib.get_backend() plt.interactive(False) plt.figure() 

con las siguientes dos importaciones

  import matplotlib import matplotlib.pyplot as plt 

Parece que todos los comandos son necesarios en mi caso, con un MBP con ElCapitan y PyCharm 2016.2.3. ¡Saludos!

Para los principiantes, es posible que también desee asegurarse de que está ejecutando su script en la consola , y no como un código de Python normal. Es bastante fácil resaltar un fragmento de código y ejecutarlo .

En env no interactivo, tenemos que usar plt.show (block = True)

Nada de lo anterior funcionó para mí, pero lo siguiente hizo:

  1. Desactive la checkbox (Mostrar gráficos en la ventana de herramientas) en la configuración de pycharm> Herramientas> Python Scientific.
  2. Recibí el error “No se encontró el módulo PyQt5”. Se adelantó con la instalación de PyQt5 usando sudo apt-get install python3-pyqt5

Una propiedad necesita establecer para pycharm.

 import matplotlib.pyplot as plt plt.interactive(False) #need to set to False dataset.plot(kind='box', subplots=True, layout=(2,2), sharex=False, sharey=False) plt.show() 

Cambiar importación a:

 import matplotlib.pyplot as plt 

o usa esta linea:

 plt.pyplot.show()