Как разместить два графика mathplotlib в двух разных виджетах?
Нужно разместить два графика mathplotlib в главном GUI окне . Один тип графика гистограмма, другой полярная диаграмма. В QtDesigner создал два MplWidgeta (Фрагмент кода ниже)
self.mplwidget_hist = MplWidget(self.page)
self.mplwidget_hist.setGeometry(QtCore.QRect(798, 8, 169, 533))
self.mplwidget_hist.setObjectName("mplwidget_hist")
self.widget_polar = MplWidget(self.page)
self.widget_polar.setGeometry(QtCore.QRect(448, 216, 345, 323))
self.widget_polar.setObjectName("widget_polar")
from mplwidget import MplWidget
Создал класс, но нет понимания как добавить график гистограммы.
class MplWidget(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.canvas = FigureCanvas(Figure())
vertical_layout = QVBoxLayout()
vertical_layout.addWidget(self.canvas)
self.canvas.axes = self.canvas.figure.add_subplot(111, polar=True)
self.setLayout(vertical_layout)
При выводе отображается две полярные диаграммы
Как правильно их прописать в классе, и сделать их независимыми?
Ответы (1 шт):
Автор решения: Dups
→ Ссылка
Вопрос решен созданием отдельного класса для виджета с графиком гистограммы.
class MplWidget_1(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.canvas = FigureCanvas(Figure())
vertical_layout = QVBoxLayout()
vertical_layout.addWidget(self.canvas)
self.canvas.axes = self.canvas.figure.add_subplot(111, polar=True) #polar
self.setLayout(vertical_layout)
class MplWidget_2(QWidget):
def __init__(self, parent = None):
QWidget.__init__(self, parent)
self.canvas = FigureCanvas(Figure())
vertical_layout = QVBoxLayout()
vertical_layout.addWidget(self.canvas)
self.canvas.axes = self.canvas.figure.add_subplot(111) #hist
self.setLayout(vertical_layout)
