Більше

Проблема з використанням Matplotlib у QGIS


Я розробляю плагін QGIS, і для створення графіки я хочу використовувати matplotlib, як і багато інших плагінів QGIS.

Це добре працювало під Linux, але під вікнами з QGIS2.4 у мене виникають проблеми.

Я перевірив та зшив шви matplotlib, щоб вони були включені до стандартної установки QGIS для Windows. Але коли люди намагаються встановити плагін, вони отримують такий звіт:

Плагін зламаний: немає модуля з назвою tkinter

Виявляється, навіть якщо я використовую pyqt, matplotlib вимагає tkinter, і ці шви слід виключити з інсталяції QGIS.

Це помилка? (я повинен це повідомити?)

Або є спосіб використовувати matplotlib без завантаження tkinter?

Якщо мені дійсно потрібен tkinter, як я можу це вирішити? Оскільки tkinter - це двійковий пакет python, я не можу включити його у свій плагін або є альтернатива (pyQWT також двійковий, тому також не є рішенням)

Я називаю matplotlib так:

з matplotlib.backends.backend_qt4agg імпортувати FigureCanvasQTAgg як FigureCanvas з matplotlib.backends.backend_qt4agg імпортувати NavigationToolbar2QTAgg як NavigationToolbar імпортувати matplotlib.pyplot як plt

його експериментальна версія (1.2.0) цього плагіна, якщо ви хочете його спробувати: http://plugins.qgis.org/plugins/geopunt4Qgis/


Добре я знайшов проблему. Я вніс такі зміни до свого коду, щоб він більше не намагався завантажити tkinter:

Я змінив:

імпортувати matplotlib.pyplot як plt

в:

з matplotlib.figure імпорту Малюнок з осей імпорту matplotbib

і зміни plt.figure () в Малюнок () тощо…


Я знайшов рішення тут: https://github.com/gem/oq-irmt-qgis/issues/224. Деякі плагіни блокують доступ до модуля tkinter.


Подивіться відео: QGIS Python PyQGIS - Show Error, Warning, and Success Messages (Жовтень 2021).