def pdf_drawPie(self, pie_data, pie_lable=[], colors=[], x=805, y=1650, width=900, height=900, innerRadiusFraction=0.5): ''' @example: chart_data = [1212,66,585,225,36] lable = ['dfd','sdd','trtr','rrrr','ytytyt'] self.pdf_drawPie(chart_data,lable) ''' if len(pie_data) == 0 or sum(pie_data) == 0: return d = Drawing(200, 100) pc = Pie() pc.x = 65 pc.y = 65 pc.width = width pc.height = height pc.data = pie_data pc.labels = pie_lable pc.startAngle = 0 pc.sideLabels = 1 pc.simpleLabels = 0 if len(colors) != len(pie_data): colors = [] for i in range(len(pie_data)): colors.append(HexColor(self.randomcolor())) for i in range(0, len(pie_data)): pc.slices[i].fontSize = 40 pc.slices[i].fontName = FONT pc.slices[i].fillColor = colors[i] pc.slices[i].strokeColor = colors[i] pc.innerRadiusFraction = innerRadiusFraction d.add(pc) d.drawOn(self.pdf_page_object, x, y)