Я создал гистограмму с помощью matplotlib, и теперь мне нужно поместить ее в определенный QFrame. Я изо всех сил пытаюсь поместить гистограмму в QFrame.
Может кто-нибудь сказать мне, как я могу поместить гистограмму matplotlib в QFrame графического интерфейса PyQt5? Потому что я видел разные вопросы по этому поводу, но они показывают это на холсте. Мне нужно показать это в кадре или виджете.
Это мой код.
class Ui_MainWindow(object):
def get_stats(self,t):
return get_Math(t), get_Logic(t), get_Science(t)
fig, ax = plt.subplots(figsize=(4, 4))
ind = np.arange(1, 4)
pm, pc, pn = plt.bar(ind, get_stats(0,0), width=0.5)
pm.set_facecolor('r')
pc.set_facecolor('g')
pn.set_facecolor('b')
ax.set_xticks(ind)
ax.set_xticklabels(['Math', 'Logic', 'Science'])
ax.set_ylim([0, 10])
ax.set_ylabel('Score')
ax.set_title('Exam Score')
# show the figure
#plt.show()
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(567, 376)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(30, 20, 501, 301))
self.frame.setFrameShape(QtWidgets.QFrame.Box)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
MainWindow.setCentralWidget(self.centralwidget)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Когда я запускаю его, он не объединяется, они находятся в разных контейнерах, мне нужно поместить гистограмму внутри QFrame, чтобы показать ее в нужном месте графического интерфейса.