Что такое хороший бэкэнд по умолчанию для matplotlib

Я решил настроить кастом matplotlibrcи, следовательно, мне нужно выбрать бэкэнд для matplotlib, Что является лучшим с точки зрения отсутствия необходимости устанавливать другие дополнительные пакеты?

Я склонен использовать matplotlib с помощью ipython --pylab, поэтому я хочу интерактивные окна на основе графиков (когда я не могу переключиться на Agg).

я пробовал WXAgg, но для этого требуется (достаточно разумно) WX.

2 ответа

И то и другое 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
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

NB вам необходимо установить PyQt5

для установки через pip запустите команду

pip install PyQt5

Я предпочитаю встроенные графики с помощью 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 с установленным пакетом Hydrogen для Atom также может выполнять встроенную печать. Я нахожу интерфейс Atom более сложным в настройке, чем Spyder, в котором встроенная печать с помощью matplotlib работает "из коробки". Я начал работать со встроенными графиками в Atom, потому что хотел использовать Atom для создания встроенных графиков и с другими языками программирования.

Другие вопросы по тегам