в блокноте Ipython / Jupyter Pandas не отображает график, который я пытаюсь построить


104

Я пытаюсь построить некоторые данные с помощью панд в Ipython Notebook, и хотя он дает мне объект, на самом деле он не рисует сам график. Вот так это выглядит:

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

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


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

@chrisfs есть более новый правильный ответ. Тот, который вы выбрали несколько лет назад, теперь неверен. Вы подумаете об изменении принятого ответа? Спасибо.
tumultous_rooster 02

Ответы:


177

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

%matplotlib inline
import matplotlib.pyplot as plt

См. Этот пост из списка рассылки ipython-dev для получения более подробной информации.


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

2
Это новый правильный ответ. Больше информации в этом сообщении блога .
Скотт Лоури

@Tal Yarkoni Я добавил первую строку вашего ответа, чтобы она работала. спасибо ~~!
verystrongjoe

Также относится к пандам в блокноте Jupyter.
datalifenyc

Для полноты картины %matplotlib nbaggв наши дни полезно получить более интерактивную версию.
Фредерик Норд

50

Изменить: Pylab устарел, см. Текущий принятый ответ

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


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

3
обратите внимание, что он не обязательно должен быть во встроенном режиме, чтобы pandas работал. Я с радостью использую только ipython notebook --pylabс пандами, чтобы график отображался в дополнительном окне, если это кому-то нужно.
К.-Майкл Ай

26

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

plt.show()

и он покажет все сохраненные графики.


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

4

просто после импорта matplotlib вы выполнили одну магию, если вы запустили ipython, как это

ipython notebook 

%matplotlib inline 

запустите эту команду, все будет показано отлично


1

запустите ipython с помощью ipython notebook --pylab inline, тогда график покажет встроенный.


Да, это был первый ответ на этот вопрос, но теперь он, похоже, устарел.
chrisfs


-5

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

import matplotlib.pyplot as plt 

I have imported matplotlib
WoodChopper

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

Этот ответ является повторением принятого выше ответа.
chrisfs
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.