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

104

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

In [7]:

pledge.Amount.plot()

Out[7]:

<matplotlib.axes.AxesSubplot at 0x9397c6c>

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

chrisfs
источник
Пару дней назад, когда я смотрел видео, мне удалось что-то построить, но теперь я не могу ничего построить. и я, кажется, делаю то же самое, что и документация. 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. Он выполняет то, что я видел ранее, и то, что я хотел. Извините за расплывчатый исходный вопрос.

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

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

plt.show()

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

Eumiro
источник
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
-2
import matplotlib as plt
%matplotlib as inline
ТрилочанЯдав
источник
-5

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

import matplotlib.pyplot as plt 
любопытный ум
источник
I have imported matplotlib
WoodChopper
хммм, это странно. что ты используешь? Я использую iPython Notebook. мой код ниже. data.plot (kind = 'barh', stacked = True)
любопытный разум
Этот ответ является повторением принятого выше ответа.
chrisfs