Почему matplotlib дает ошибку [<matplotlib.lines.Line2D объект в 0x0392A9D0>]?

Я использую python 2.7.9 на win8. Когда я попытался построить с использованием matplotlib, появилась следующая ошибка:

из импорта pylab *
участок ([1,2,3,4])

[matplotlib.lines.Line2D объект в 0x0392A9D0]

Я попробовал тестовый код "python simple_plot.py --verbose-helpful", и появилось следующее предупреждение:

$HOME = C:\Users\XX matplotlib путь данных C:\Python27\lib\site-packages\matplotlib\mpl-data​​p >


У вас есть следующие UNAUPPORTED настройки преамбулы LaTeX:

Пожалуйста, не запрашивайте поддержку с этими настройками.


загруженный файл rc C:\Python27\lib\site-packages\matplotlib\mpl-data\matplotlibrc версия matplotlib 1.4.3 verbose.level help интерактивный False платформа - win32 CacheDir = C:\Users\XX.matplotlib Использование экземпляра fontManager из C:\Users\XX.matplotlib\fontList.cache backend TkAgg версия 8.5 findfont: Соответствие: family = sans-serif: style = normal: variant = normal: weight = normal: stretch = normal: size = medium to Bitstream Vera Sans (u'C:\Python27\lib\site-packages\matplotlib\mpl-data\fonts\ttf\Vera.ttf ') со счетом 0,000000

Что это значит? Как я могу заставить matplotlib работать? Большое вам спасибо!

Ответ 1

Это не ошибка. Это создало объект сюжета, но вам нужно показать окно. Это делается с помощью pyplot.show()... так что вы серьезно просто должны сделать...

show()

Если вы мне не верите, вот от IPython:

In [9]: from pylab import *

In [10]: plot([1,2,3,4])
Out[10]: [<matplotlib.lines.Line2D at 0x123245290>]

In [11]: show()

Получаем:

введите описание изображения здесь


Как указано в комментариях, вам следует избегать использования pylab. Вы должны использовать matplotlib.pyplot вместо этого.... так:

import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.show()

Ответ 2

В узловой книге Jupyter вы можете просто вставить

%matplotlib inline

прежде чем использовать matplotlib.

Ответ 3

Если вы используете jupyter notebook, вы можете запускать интерактивный график по команде

ион()

прежде чем что-либо сделать. Это покажет график в самой записной книжке.

Ответ 4

Я наткнулся на это же сообщение в блокноте Юпитера.

Я только что добавил блокнот% matplotlib, и мои диаграммы теперь отображаются.

Я думаю, что% matplotlib inline также должен работать.

Ответ 5

У меня та же проблема с установкой SUSE Leap 15.0 Метод plt.show() не работает Метод plt.savefig('test.png') записывает файл правильно, и я могу открыть его с помощью gimp. Я думаю, это связано с некоторыми деталями X-сервера.