Если я установлю свой бэкэнд template
в ~/.matplotlib/matplotlibrc
, то я могу воспроизвести ваши симптомы:
~ / .Matplotlib / matplotlibrc:
# backend : GtkAgg
backend : template
Обратите внимание, что файл matplotlibrc
не может быть в каталоге ~/.matplotlib/
. В этом случае следующий код показывает, где он находится:
>>> import matplotlib
>>> matplotlib.matplotlib_fname()
In [1]: import matplotlib.pyplot as p
In [2]: p.plot(range(20),range(20))
Out[2]: [<matplotlib.lines.Line2D object at 0xa64932c>]
In [3]: p.show()
Если вы отредактируете ~/.matplotlib/matplotlibrc
и измените бэкэнд на что-то вроде GtkAgg
, вы должны увидеть график. Вы можете перечислить все доступные бэкэнды на вашем компьютере с помощью
import matplotlib.rcsetup as rcsetup
print(rcsetup.all_backends)
Он должен вернуть список вроде:
['GTK', 'GTKAgg', 'GTKCairo', 'FltkAgg', 'MacOSX', 'QtAgg', 'Qt4Agg',
'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf',
'ps', 'svg', 'template']
Ссылка:
ImportError: No module named _backend_gdk
~/.config/matplotlib/matplotlibrc
(по крайней мере для Python 3). У меня просто была связанная проблема, и я думаю, что она была вызвана использованием matplotlib в python 2.7, который создал~/.matplotlib/
каталог и остановил python 3 от чтения конфигурации в~/.config/matplotlib/
. Удаление~/.matplotlib/
исправило проблему для меня.Я столкнулся с точно такой же проблемой на Ubuntu 12.04, потому что я установил matplotlib (в рамках virtualenv), используя
Короче говоря, мой совет: не пытайтесь установить matplotlib, используя pip или вручную; пусть настоящий менеджер пакетов (например, apt-get / synaptic) установит его и все его зависимости для вас.
К сожалению, бэкэнды matplotlib (альтернативные методы для визуализации ваших графиков) имеют все виды зависимостей, с которыми pip не будет иметь дело. Еще хуже, это терпит неудачу тихо; то есть,
pip install matplotlib
кажется, для успешной установки matplotlib. Но когда вы попытаетесь использовать его (напримерpyplot.show()
), окно графика не появится. Я попробовал все разные бэкэнды, которые предлагают люди в сети (Qt4Agg, GTK и т. Д.), И все они потерпели неудачу (то есть, когда я пытался импортировать matplotlib.pyplot, я получал,ImportError
потому что он пытался импортировать некоторую отсутствующую зависимость). Затем я исследовал, как установить эти зависимости, но мне просто захотелось отказаться от использования pip (в virtualenv) в качестве жизнеспособного решения для установки любого пакета, который имеет не-Python зависимости пакета.Весь этот опыт заставил меня вернуться к apt-get / synaptic (то есть к менеджеру пакетов Ubuntu) для установки программного обеспечения, такого как matplotlib. Это сработало отлично. Конечно, это означает, что вы можете установить только в свои системные каталоги, без всякого добродетели virtualenv, и вы застряли с версиями, которые распространяет Ubuntu, что может сильно отставать от текущей версии ...
источник
--system-site-packages
вариант?pip install
естьagg
. Я не уверен почему, но вы можете изменить его согласно ответу unutbu.pip
имеет главное преимущество в установке актуальной версии -apt
устанавливает устаревшую версию. Иногда есть исправления ошибок / новые функции, которые вы хотите / нужны.virtualenv
сработала! И я смог установить Matplotlib 1.4 из исходного кода всей системы (на Ubuntu), но не подvirtualenv
.% matplotlib встроенный
Для меня работа с блокнотом, добавление вышеуказанной строки, прежде чем сюжет работает.
источник
%pylab inline
на своем ноутбуке, как отмечает @Bhanu Pratap SinghДля дальнейшего использования
Я столкнулся с той же проблемой - pylab не показывался под ipython. Проблема была исправлена путем изменения файла конфигурации ipython {ipython_config.py}. В конфигурационном файле
c.InteractiveShellApp.pylab = 'auto'
Я изменил «Авто» на «QT» и теперь я вижу графики
источник
agg
, я не вещь , которая%pylab inline
будет работать, и не будет показывать графики при запуске скриптов непосредственно , а именно:python myscript.py
. Ответ unutbu должен исправить это везде.Просто введите:
plt.ion()
Смотрите https://www.youtube.com/watch?v=1zmV8lZsHF4 в 23:30!
plt
используется из-за моего импорта:import matplotlib.pyplot
как pltЯ использую python2.7 на Mac с iTerm2.
источник
Что решило мою проблему, так это использование двух строчек в блокноте ipython вверху
И это сработало. Я использую Ubuntu16.04 и ipython-5.1
источник
%pylab inline
делает это работает.Мне пришлось установить matplotlib из исходного кода, чтобы заставить это работать. Основные инструкции (от http://www.pyimagesearch.com/2015/08/24/resolved-matplotlib-figures-not-showing-up-or-displaying/ ):
Изменяя бэкэнд, как говорит @unutbu, я просто столкнулся с большим количеством проблем, при этом все бэкэнды тоже не работали.
источник
Добавление следующих двух строк перед импортом pylab кажется мне подходящим
источник
Убедитесь, что этот скрипт запуска включен: («Настройки»> «Консоль»> «Дополнительные параметры»)
Если включен стандартный PYTHONSTARTUP, у вас не будет интерактивного сюжета.
источник
Подобно @Rikki, я решил эту проблему путем обновления
matplotlib
сpip install matplotlib --upgrade
. Если вы не можете обновить, удаление и повторная установка могут работать.источник
Для меня проблема возникает, если я просто создаю пустой
matplotlibrc
файл~/.matplotlib
в MacOS. Добавление в него «backend: macosx» решает проблему.Я думаю, что это ошибка: если
backend
не указан в моем,matplotlibrc
он должен принимать значение по умолчанию.источник
После запуска вашего кода включите:
источник
Я обнаружил, что мне нужно,
window = Tk()
а затемwindow.mainloop()
источник
Для Ubuntu 12.04:
источник