@andriy_vityk
Студент, инженер-акустик, программист.

Как подружить PyQt и matplotlib?

Здравствуйте!
Сам никак не могу разобраться, только недавно начал программировать.
Мне нужно в GUI - приложении вывести график, созданный в matplotlib.pyplot.pcolormesh, а также несколько графиков с matplotlib.pyplot.plot и matplotlib.pyplot.polar (для визуализации акустического поля). Графики в одном окне на разных виджетах.
Пробовал использовать QGraphicsView/QGraphicsScene, но не понял как добавить QuadMesh как QGraphicsItem, пробовал FigureCanvasQTAgg из matplotlib.backends.backend_qt4agg прикрепить в QWidget, но как-то безуспешно.
Вот часть кода. Не могу понять, как объект QuadMesh поместить внутрь. Через plt.show() работает, но в новом окне.
self.fld_frame = QtGui.QWidget()
fplt = self.fld.fieldplt()  # возвращает QuadMesh
self.fig = Figure()
self.fig.canvas = FigureCanvas(self.fig)
self.fig.canvas.setParent(self.ac_field)  # ac_field - объект QGraphicsView
self.fig.canvas.draw()
  • Вопрос задан
  • 7249 просмотров
Решения вопроса 1
mFoxRU
@mFoxRU
Примерно год назад, довольно долго промучившись с интеграцией matplotlib в PyQt-приложение, открыл для себя замечательную библиотеку PyQtGraph. Из плюсов могу отметить более удобную интеграцию в приложение и, что для меня было важно, скорость работы при отображении динамических данных.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы