Как установить 'backend' в matplotlib в Python?

Я новый пользователь matplotlib, моя платформа – Ubuntu 10.04 Python 2.6.5

Это мой код

import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt plt.plot([1,2,3]) 

Ошибка:

 /usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py:41: UserWarning: Your currently selected backend, 'agg' does not support show(). Please select a GUI backend in your matplotlibrc file ('/usr/local/lib/python2.6/dist-packages/matplotlib/mpl-data/matplotlibrc') or with matplotlib.use() (backend, matplotlib.matplotlib_fname())) 
  • Я установил библиотеку Anti-Grain Geometry apt-get install libagg но она не работает.
  • Я попытался использовать другие аргументы бэкэнда, такие как «GTK» и «TkAgg».
  • Я установил пакет python-gtk2-dev , но все же ошибка ниже.
  • Может ли кто-нибудь сказать мне исполняемый аргумент backend и его библиотеку зависимостей?

Вот ошибка:

 >>> matplotlib.use('GTK') >>> import matplotlib.pyplot as plt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.6/dist-packages/matplotlib/pyplot.py", line 95, in <module> new_figure_manager, draw_if_interactive, show = pylab_setup() File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/__init__.py", line 25, in pylab_setup globals(),locals(),[backend_name]) File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gtk.py", line 28, in <module> from matplotlib.backends.backend_gdk import RendererGDK, FigureCanvasGDK File "/usr/local/lib/python2.6/dist-packages/matplotlib/backends/backend_gdk.py", line 29, in <module> from matplotlib.backends._backend_gdk import pixbuf_get_pixels_array ImportError: No module named _backend_gdk 

Ваш текущий выбранный backend, agg не поддерживает show ().

AGG backend предназначен для записи в файл, а не для рендеринга в окне. См. Часто задаваемые вопросы на веб-сайте matplotlib.

ImportError: нет модуля с именем _backend_gdk

Для второй ошибки, возможно, ваш дистрибутив matplotlib не скомпилирован с поддержкой GTK, или вы пропустите пакет PyGTK. Попробуйте установить его.

Вы вызываете метод show() внутри терминала или приложения, имеющего доступ к графической среде?

Попробуйте использовать другие GUI-серверы в следующем порядке:

  • TkAgg
  • WX
  • QTAgg
  • QT4Agg

Это также можно установить в файле конфигурации matplotlibrc (как описано в сообщении об ошибке), например:

 # The default backend; one of GTK GTKAgg GTKCairo GTK3Agg GTK3Cairo # CocoaAgg MacOSX Qt4Agg Qt5Agg TkAgg WX WXAgg Agg Cairo GDK PS PDF SVG backend : Agg 

Таким образом, бэкэнд не должен быть жестко закодирован, если код используется совместно с другими людьми. Для получения дополнительной информации проверьте документацию .

FYI, я обнаружил, что мне нужно matplotlib.use('Agg') поставить matplotlib.use('Agg') в порядке импорта Python. Для того, что я делал (модульное тестирование должно было быть безголовым), это означало

 import matplotlib matplotlib.use('Agg') 

в верхней части моего мастер-скрипта. Мне не нужно было прикасаться к другим файлам.

Исправленные вами ошибки не связаны. Первый из них обусловлен тем, что вы выбираете бэкэнд, который не предназначен для интерактивного использования, то есть agg. Вы все равно можете использовать (и должны использовать) те, которые используются для генерации графиков в сценариях, которые не требуют взаимодействия с пользователем.

Если вам нужна интерактивная лабораторная среда, как в Matlab / Pylab, вы, очевидно, импортируете бэкэнд, поддерживающий использование gui, например Qt4Agg (нужны Qt и AGG), GTKAgg (GTK AGG) или WXAgg (wxWidgets и Agg).

Я бы начал с использования WXAgg, кроме того, это действительно зависит от того, как вы установили Python и matplotlib (источник, пакет и т. Д.),

Я ударил это, пытаясь скомпилировать python, numpy, scipy, matplotlib в моем собственном VIRTUAL_ENV

Перед установкой matplotlib вам необходимо собрать и установить: pygobject pycairo pygtk

И затем сделайте это с помощью matplotlib: перед построением проверки matplotlib с помощью «python ./setup.py build –help», если включена поддержка «gtkagg». Затем создайте и установите

Перед экспортом PKG_CONFIG_PATH = $ VIRTUAL_ENV / lib / pkgconfig