O Pycharm não mostra o gráfico do seguinte 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()
O que acontece é que uma janela aparece por menos de um segundo e depois desaparece novamente.
Usando o IDE Pyzo IEP (usando o mesmo interpretador) no mesmo código, o gráfico mostra conforme o esperado.
... Portanto, o problema deve ser com alguma configuração no Pycharm. Tentei usar o python.exe e o pythonw.exe como interpretadores, ambos com os mesmos resultados.
Este é meu 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
fonte
fonte
plt.pyplot.show()
o trabalho?Respostas:
Apenas use
Este comando informa ao sistema para desenhar o gráfico no Pycharm.
Exemplo:
fonte
plt.draw()
já que estou atualizando a figura mais tarde?plt.show()
funciona bem, masplt.draw()
não mostra nada no PyCharm.%matplotlib inline
. @CGFox, draw foi criado para renderizar explicitamente na memória, mas não exibir na tela (ou arquivo). Você precisa plt.pause (0.1) para que os gráficos sejam exibidos ou chamar plt.show (pause = True) em algum outro ponto do código para fazê-los renderizarSei que isso é antigo, mas achei que poderia esclarecer um equívoco para outros viajantes. Definir
plt.pyplot.isinteractive()
comoFalse
significa que o gráfico será desenhado em comandos específicos para desenhar (ou sejaplt.pyplot.show()
). Definirplt.pyplot.isinteractive()
comoTrue
significa que todo comandopyplot
(plt
) acionará um comando de desenho (ou sejaplt.pyplot.show()
). Então, o que você provavelmente estava procurando éplt.pyplot.show()
o final do programa para exibir o gráfico.Como observação lateral, você pode encurtar um pouco essas declarações usando o seguinte comando de importação em
import matplotlib.pyplot as plt
vez dematplotlib as plt
.fonte
Eu tive o mesmo problema. Verifique se
plt.isinteractive()
é verdadeiro. Definir como 'False' ajudou para mim.fonte
Tentei soluções diferentes, mas o que finalmente funcionou para mim foi
plt.show(block=True)
. Você precisa adicionar este comando após omyDataFrame.plot()
comando para que tenha efeito. Se você tiver vários gráficos, basta adicionar o comando no final do seu código. Isso permitirá que você veja todos os dados que está traçando.fonte
Funciona para mim. (PyCharm / OSX)
fonte
plt.show()
não ajudou mais em uma versão mais recente do PyCharm (2020.1).Eu testo em minha versão do Pycharm (Community Edition 2017.2.2), você pode precisar anunciar tanto plt.interactive (False) quanto plt.show (block = True) da seguinte forma:
fonte
Eu encontrei uma solução. Isso funcionou para mim:
fonte
Logo depois de ligar
ligar
Você obterá o pop-up matplotlib com a imagem.
Esta é uma forma de bloqueio. O script posterior não será executado até que o pop seja fechado.
fonte
Comigo, o problema era o fato de que matplotlib estava usando o backend errado. Estou usando o Debian Jessie.
Em um console, fiz o seguinte:
O resultado foi: 'agg', mas deveria ser 'TkAgg'.
A solução era simples:
fonte
Apenas adicione
plt.pyplot.show()
, isso seria ótimo.A melhor solução é desativar o SciView.
fonte
Testei na minha versão no PyCharm 2017.1.2. Usei interativo (True) e show (block = True).
fonte
Nenhuma das opções acima funcionou para mim, mas o seguinte funcionou:
Desative a caixa de seleção (Mostrar gráficos na janela de ferramentas) no pycharm
settings > Tools > Python Scientific
.Recebi o erro
No PyQt5 module found
. Prosseguiu com a instalação dePyQt5
usando:Cuidado, pois para alguns apenas o primeiro passo é suficiente e funciona.
fonte
Meu env: macOS e anaconda3
Isso funciona para mim:
ou modo interativo:
fonte
Eu tive esse problema e eu poderia resolvê-lo, você pode testar meu caminho .. desative "mostrar gráficos na janela de ferramentas" em configuração -> ferramentas -> python científico
fonte
O comentário do DanT corrigiu isso para mim, matplotlib com pycharm no linux com o backend GTKagg. Ao importar matplotlib, receberia o seguinte erro:
Ao traçar algo assim:
Uma tela de figura aparecerá, mas nenhum gráfico aparecerá. usando:
exibe o gráfico corretamente.
fonte
No meu caso, eu queria fazer o seguinte:
Seguindo uma combinação das soluções aqui, minha solução foi adicionar antes disso os seguintes comandos:
com as seguintes duas importações
Parece que todos os comandos são necessários no meu caso, com um MBP com ElCapitan e PyCharm 2016.2.3. Saudações!
fonte
Para iniciantes, você também pode querer ter certeza de que está executando seu script no console , e não como um código Python normal. É bastante fácil destacar um trecho de código e executá-lo .
fonte
Em env não interativo, temos que usar plt.show (block = True)
fonte
Para aqueles que estão executando um script dentro de um IDE (e não trabalhando em um ambiente interativo como um console Python ou um notebook), descobri que esta é a solução mais intuitiva e simples:
Ele mostra a figura e espera até que o usuário clique na nova janela. Só então ele retoma o script e executa o resto do código.
fonte
Consegui obter uma combinação de algumas das outras sugestões que funcionam para mim, mas apenas ao alternar
plt.interactive(False)
entreTrue
e novamente.Isso piscará nos meus gráficos. Em seguida, defina como
False
permitido para visualização.Conforme observado, meu programa não fecharia até que todas as janelas fossem fechadas. Aqui estão alguns detalhes sobre meu ambiente de execução atual:
fonte
Uma propriedade precisa ser definida para o pycharm.
fonte
Alterar importação para:
ou use esta linha:
fonte
Estou usando o Ubuntu e tentei como @Arie disse acima, mas com esta linha apenas no terminal:
E funcionou!
fonte
No Pycharm, às vezes o Matplotlib.plot não aparece.
Então, depois de chamar,
plt.show()
verifique na barra de ferramentas do lado direito do SciView. Dentro do SciView, todos os gráficos gerados serão armazenados.fonte
Eu estava enfrentando o erro acima quando estou tentando traçar o histograma e os pontos abaixo funcionaram para mim.
SO: Mac Catalina 10.15.5
Versão do Pycharm: versão da comunidade 2019.2.3
Versão Python: 3.7
de :
import matplotlib.pylab as plt
para:
import matplotlib.pyplot as plt
de:
para :
plt.show()
fonte