no notebook Ipython / Jupyter, o Pandas não está exibindo o gráfico que tento plotar


104

Estou tentando plotar alguns dados usando pandas no Ipython Notebook e, embora ele me dê o objeto, na verdade não plota o gráfico em si. Então fica assim:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

O gráfico deve vir depois disso, mas simplesmente não aparece. Eu importei matplotlib, então esse não é o problema. Existe algum outro módulo que preciso importar?


Consegui traçar coisas alguns dias atrás, enquanto seguia um vídeo, mas agora não consigo traçar nada. e parece que estou fazendo a mesma coisa que a documentação. pandas.pydata.org/pandas-docs/stable/visualization.html Então, acho que algo com meu sistema está errado ou um módulo não foi importado
chrisfs

@chrisfs existe uma resposta correta mais recente. O que você selecionou há alguns anos agora está incorreto. Você consideraria mudar sua resposta aceita? Obrigado.
tumultous_rooster

Respostas:


177

Observe que --pylab está obsoleto e foi removido das compilações mais recentes do IPython. A maneira recomendada de habilitar a plotagem em linha no Notebook IPython agora é executar:

%matplotlib inline
import matplotlib.pyplot as plt

Veja esta postagem da lista de discussão ipython-dev para mais detalhes.


2
Muito bom. Depois de usar %matplotlib inlineminhas tentativas de plotagem resultou em imagem visível embutida, bom. Na verdade, a importação não é necessária se o plot for o método de um objeto já existente como no OP.
Jan Vlcinsky

2
Esta é a nova resposta correta. Mais informações nesta postagem do blog .
Scott Lowrey

@Tal Yarkoni Eu adicionei a primeira linha de sua resposta para que funcionasse. obrigado ~~!
verystrongjoe

Também se aplica a pandas no caderno Jupyter.
datalifenyc

Para completar, %matplotlib nbaggé útil atualmente obter uma versão mais interativa.
Frederick Nord,

50

Edit: Pylab foi descontinuado por favor veja a resposta atual aceita

Ok, parece que a resposta é iniciar o notebook ipython com --pylab = inline. so ipython notebook --pylab = inline Isso faz com que ele faça o que eu vi antes e o que eu queria que ele fizesse. Desculpe pela vaga pergunta original.


26
Sim, é disso que você precisa. Você também pode executar %pylab inlinedentro de um notebook para habilitar o modo pylab.
Thomas K

3
note que ele não precisa estar no modo embutido para que os pandas funcionem. Fico feliz usando apenas ipython notebook --pylabpandas para ter o enredo em uma janela extra, se é o que alguém quer.
K.-Michael Aye


4

simples depois de importar o matplotlib você executou uma mágica se iniciou o ipython desta forma

ipython notebook 

%matplotlib inline 

execute este comando tudo será mostrado perfeitamente


1

inicie o ipython com ipython notebook --pylab inline, então o gráfico mostrará inline.


Sim, essa foi a primeira resposta a essa pergunta, mas também parece estar obsoleta agora.
chrisfs


-5

Tudo que você precisa fazer é importar matplotlib.

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

hmmm isso é estranho. O que você usa? Eu uso o iPython Notebook. meu código abaixo. data.plot (kind = 'barh', stacked = True)
a mente curiosa

Esta resposta é uma repetição da resposta aceita acima.
chrisfs
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.