2012-05-09 3 views
77

Я пытаюсь построить некоторые данные, используя pandas в ноутбуке Ipython, и пока он дает мне объект, он фактически не отображает график. Так выглядит примерно так:в ноутбуке Ipython, Pandas не отображает график, который я пытаюсь построить

In [7]: 

pledge.Amount.plot() 

Out[7]: 

<matplotlib.axes.AxesSubplot at 0x9397c6c> 

После этого график должен следовать, но он просто не появляется. Я импортировал matplotlib, так что это не проблема. Есть ли какой-либо другой модуль, который мне нужно импортировать?

+0

Вы смогли построить другие вещи с помощью (аналогичного) кода? –

+0

Мне удалось запечатлеть вещи пару дней назад, после просмотра видео, но теперь я не могу ничего замышлять. и я, кажется, делаю то же самое, что и документация. http://pandas.pydata.org/pandas-docs/stable/visualization.html Итак, я считаю, что что-то с моей системой ошибочно или модуль не импортирован – chrisfs

+0

@chrisfs есть более новый правильный ответ. Тот, который вы выбрали несколько лет назад, теперь некорректен. Подумайте о том, чтобы изменить принятый ответ? Благодарю. –

ответ

136

Обратите внимание, что --pylab устарел и был удален из новых построений IPython, поэтому принятый ответ больше не будет работать. Рекомендуемый способ включить встроенный замышляет в Notebook IPython теперь бежать:

%matplotlib inline 
import matplotlib.pyplot as plt 

См this post из списка рассылки IPython-DEV для более подробной информации.

+2

Очень хорошо. После использования '% matplotlib inline' мои попытки заговора привели к встроенному видимому изображению, приятно. Фактически, импорт не нужен, если график - это метод уже существующего объекта, например, в OP. –

+2

Это новый правильный ответ. Подробнее [в этом блоге] (http://nbviewer.ipython.org/github/Carreau/posts/blob/master/10-No-PyLab-Thanks.ipynb). –

+1

Это, безусловно, правильный ответ для тех, кто просматривает. – AwokeKnowing

21

с вашим import matplotlib.pyplot as plt просто добавить

plt.show() 

и она покажет все сохраненные участки.

+1

ОК, что помогает. Я думал, что Ipython будет делать встроенные графики автоматически. Документация для pandas также не показывает необходимость делать plt.show() http://pandas.pydata.org/pandas-docs/stable/visualization.html – chrisfs

50

Хорошо, кажется, что нужно запустить ipython-ноутбук с --pylab = inline. поэтому ipython notebook --pylab = inline Это он сделал то, что я видел раньше, и то, что я хотел. Извините за смутный оригинальный вопрос.

+26

Да, это то, что вам нужно. Вы также можете запустить '% pylab inline' внутри ноутбука, чтобы включить режим pylab. –

+3

Обратите внимание, что он не обязательно должен находиться в режиме встроенного режима, хотя для работы панд. Я с удовольствием использую только «ipython notebook -pylab» с пандами, чтобы иметь сюжет в дополнительном окне, если это то, что кто-то хочет. –

1

запустите ipython с ipython notebook --pylab inline, тогда график отобразит строку.

+0

Да, это был первый ответ на этот вопрос, но он также кажется устаревшим сейчас. – chrisfs

4

просто после импорта Matplotlib вы должны выполнить одну магию, если вы начали IPython как как этот

ipython notebook 

%matplotlib inline 

перспектива этой команды все будет показано совершенно

-1

Все, что вам нужно сделать, это импорт matplotlib.

import matplotlib.pyplot as plt 
+0

'Я импортировал matplotlib' – WoodChopper

+0

hmmm, это странно. что ты используешь? Я использую iPython Notebook. мой код ниже. data.plot (kind = 'barh', stacked = True) – aybuke

+0

Этот ответ является повторением принятого ответа выше. – chrisfs

Смежные вопросы