def __init__(self, width=400, height=200, *args, **kw): Drawing.__init__(*(self, width, height) + args, **kw) bc = HorizontalBarChart() bc.x = 50 bc.y = 50 bc.height = 125 bc.width = 300 bc.data = dataSample5 bc.strokeColor = colors.black bc.useAbsolute = 1 bc.barWidth = 10 bc.groupSpacing = 20 bc.barSpacing = 10 bc.valueAxis.valueMin = 0 bc.valueAxis.valueMax = 60 bc.valueAxis.valueStep = 15 bc.categoryAxis.labels.boxAnchor = 'e' bc.categoryAxis.categoryNames = ['Ying', 'Yang'] self.add(bc, name='HBC')
def add_vertical_bar_chart(self, data, categories, dataLabel): if len(categories) == 0: return if len(data) == 0: return drawing = Drawing(self.content_width(), len(categories)*15 + 50) maxValue = 1 for value in data: if value > maxValue: maxValue = value bc = HorizontalBarChart() bc.height = len(categories)*15 bc.width = self.content_width() - 300 bc.x = 150 bc.y = 25 bc.groupSpacing = 2 bc.data = [data] bc.strokeColor = None bc.bars[0].fillColor = CYAN bc.valueAxis.valueMin = 0 bc.valueAxis.valueMax = maxValue bc.valueAxis.valueStep = max(maxValue/5, 1) bc.valueAxis.labelTextFormat = dataLabel bc.categoryAxis.labels.boxAnchor = 'e' bc.categoryAxis.labels.dx = -8 bc.categoryAxis.labels.dy = 0 bc.categoryAxis.categoryNames = categories drawing.add(bc) self.add(drawing)