예제 #1
0
    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')
예제 #2
0
    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)