Форум сайта python.su
Есть приложение учета финансов, которое визуализирует расходы в виде круговой диаграммы. Данные для диаграммы берутся из бд. Надо нарисовать саму диаграмму.
Для этого я использую следующую функцию в классе main
def view_records(self):
summ = self.db.c.execute('''SELECT SUM(costs) FROM finance''')
money_mass = self.db.c.execute('''SELECT costs FROM finance''')
money_mass.fetchall()
end = 0
for i in money_mass:
self.stats_field.create_arc(start=end, extend=3.6*(i//summ * 100), fill = "black")
end += 3.6*(i//summ * 100)
Отредактировано Yaroslam322 (Фев. 24, 2020 23:29:32)
Офлайн
Yaroslam322где?
файл программы прилагается
Офлайн
FishHookотредачил
Офлайн
В начале кода под блоком импортов вставляете список цветов для диаграммы:
COLORS = ('black', 'blue', 'green', 'grey', 'purple', 'orange', 'maroon', 'gold') #если не хватит, добавить цветов
def view_records(self): summ = self.db.c.execute('''SELECT SUM(costs) FROM finance''').fetchone() money_mass = self.db.c.execute('''SELECT costs FROM finance''').fetchall() end = 0 for i,m in enumerate(money_mass): ext = 360 * m[0] / summ[0] self.stats_field.create_arc(20, 20, 200, 200, start=end, extent=ext, fill=COLORS[i]) end += ext
Офлайн
ramiСпасибо, все работает
В начале кода под блоком импортов вставляете список цветов для диаграммы:
Офлайн