У меня есть дестопаппликация, написанная на pyqt5. Я хочу отобразить круговую диаграмму и гистограмму.
Я могу сделать это с помощью matplotlib. Но сделать exe matplotlib не получится ...
Итак, вот вопрос: есть ли другой способ показать графики и графики в приложении, а не с помощью matplotlib?
Я нашел эту ссылку
ссылка но я не могу интегрировать это в свой код ... или, может быть, я просто делаю что-то действительно неправильно.
И я не нашел другого способа, как показывать гистограммы. У кого-нибудь есть предложения?
Вот мой код:
class EllipsItem(QtWidgets.QGraphicsEllipseItem):
def paint(self, painter, option, widget=None):
super(EllipsItem, self).paint(painter, option, widget)
painter.save()
families = [1, 2]
names = ['name1', 'nam2']
total = 0
set_angle = 0
count1 = 0
colours = []
total = sum(families)
for count in range(len(families)):
number = []
for count in range(3):
number.append(random.randrange(0, 255))
colours.append(QColor(number[0], number[1], number[2]))
for family in families:
# Max span is 5760, so we have to calculate corresponding span angle
angle = round(float(family * 5760) / total)
painter.setPos(0, 0)
painter.setStartAngle(set_angle)
painter.setSpanAngle(angle)
painter.setBrush(colours[count1])
set_angle += angle
count1 += 1
painter.restore()
class MainWindow(QtWidgets.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
scene = QtWidgets.QGraphicsScene(self)
self.view = QtWidgets.QGraphicsView(scene)
self.setCentralWidget(self.view)
self.view.setHidden(False)
self.work_file = QtWidgets.QPushButton("Durchsuchen LV", self)
self.work_file.setGeometry(QtCore.QRect(12, 20, 250, 30))
self.work_file.clicked.connect(self.on_click_work_lv)
rect_item = EllipsItem(QtCore.QRectF(0, 0, 300, 300))
scene.addItem(rect_item)
def on_click_work_lv(self):
self.view.setHidden(True)
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
w = MainWindow()
w.resize(640, 480)
w.show()
sys.exit(app.exec_())