Я новый пользователь 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
пакет, но ошибка все еще ниже. - Может ли кто-нибудь сказать мне исполняемый аргумент серверной части и его библиотеку зависимостей?
Вот ошибка:
>>> 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
python
linux
graphics
matplotlib
user504909
источник
источник
К вашему сведению, я обнаружил, что мне нужно
matplotlib.use('Agg')
сначала указать порядок импорта Python. Для того, что я делал (модульное тестирование должно было быть безголовым), это означало,import matplotlib matplotlib.use('Agg')
вверху моего основного тестового сценария. Никаких других файлов трогать не пришлось.
источник
Это также можно установить в файле конфигурации
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
Таким образом, бэкэнд не нужно жестко программировать, если код используется совместно с другими людьми. Для получения дополнительной информации проверьте документацию .
источник
Опубликованные вами ошибки не связаны. Первый из-за того, что вы выбрали серверную часть, не предназначенную для интерактивного использования, т.е. агг. Вы все еще можете использовать (и должны использовать) их для создания графиков в сценариях, которые не требуют взаимодействия с пользователем.
Если вам нужна интерактивная лабораторная среда, как в Matlab / Pylab, вы, очевидно, импортируете бэкэнд, поддерживающий использование графического интерфейса, например Qt4Agg (требуется Qt и AGG), GTKAgg (GTK и AGG) или WXAgg (wxWidgets и Agg).
Я бы начал с попытки использовать WXAgg, кроме того, это действительно зависит от того, как вы установили Python и matplotlib (исходный код, пакет и т. Д.)
источник
Перед запуском python вы можете сделать это в bash
источник
Вы также можете попробовать просмотреть график в браузере.
Используйте следующее:
matplotlib.use('WebAgg')
источник
Я ударил это при попытке скомпилировать 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
источник
Для новичков,
источник