Я решил установить пользовательское matplotlibrc
, и таким образом я должен выбрать бэкенд для matplotlib
. Каков лучший с точки зрения не необходимости установить другие дополнительные пакеты?
Я склонен использовать matplotlib
через ipython --pylab
, таким образом, я хочу интерактивные графики оконные (когда я не делаю я могу переключиться на Agg
).
Я попробовал WXAgg
, но это требует (достаточно разумно) WX.
Оба Agg
и TkAgg
не требуйте никаких зависимостей вне стандартной библиотеки Python.
У меня были некоторые проблемы с TkAgg
и многопоточность, поэтому если только необходимо сохранить в файлы (и нет plt.show()
), я рекомендовал бы использовать Agg
вместо этого (просто заменяют его где TkAgg
появляется ниже).
Любой добавляет следующую строку к Вашему ~/.config/matplotlib/matplotlibrc
:
backend: TkAgg
Или следующие строки в Ваш файл Python:
import matplotlib
matplotlib.use('TkAgg') # MUST BE CALLED BEFORE IMPORTING plt
import matplotlib.pyplot as plt
Я предпочитаю встроенные графики с matplotlib к графикам в отдельном окне, потому что он помогает видеть то, что я делаю, все хорошо настраивание Python кодирует.
Python IDE для ученых (spyder) может сделать встроенное графическое изображение. Для испытания этой функции открывают терминал и тип:
sudo apt install python2.7 python-matplotlib spyder ipython
После того, как ipython запрашивают в консоли IPython скопировать/вставить ниже кода и нажатия клавишу Enter выполнять его.
import matplotlib.pyplot as plt
x, y = [-1, 12], [1, 4]
plt.plot(x, y, marker = 'o')
Текстовый редактор Atom с Водородным пакетом для установленного Atom может также сделать встроенное графическое изображение. Я нахожу интерфейс Atom более сложным для конфигурирования, чем Spyder, в котором встроенное графическое изображение с matplotlib работает из поля. Я начал со встроенным графическим изображением в Atom, потому что я хотел использовать Atom для создания встроенных графиков с другими языками программирования также.
import matplotlib
matplotlib.use('Qt5Agg')
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,1,100)
y = np.sin(x)
plt.plot(x,y)
plt.show()
Насколько мне известно, PyQt5 — лучший бэкэнд для Matplotlib. Это позволяет все правки даже после того, как вы запустите свою программу. Чтобы использовать его,
import matplotlib
matplotlib.use('Qt5Agg')
поставьте это перед вызовом
import matplotlib.pyplot as plt
для установки через pip, запустите команду
pip install PyQt5