Python|干货!10分钟,用Python生成图文并茂的PDF报告!( 三 )


            ('ALIGN' (0 0) (-1 -1) 'CENTER')  # 第一行水平居中
            ('ALIGN' (0 1) (-1 -1) 'LEFT')  # 第二行到最后一行左右左对齐
            ('VALIGN' (0 0) (-1 -1) 'MIDDLE')  # 所有表格上下居中对齐
            ('TEXTCOLOR' (0 0) (-1 -1) colors.darkslategray)  # 设置表格内文字颜色
            ('GRID' (0 0) (-1 -1) 0.5 colors.grey)  # 设置表格框线为grey色 , 线宽为0.5
            # ('SPAN' (0 1) (0 2))  # 合并第一列二三行
            # ('SPAN' (0 3) (0 4))  # 合并第一列三四行
            # ('SPAN' (0 5) (0 6))  # 合并第一列五六行
            # ('SPAN' (0 7) (0 8))  # 合并第一列五六行
        

        table = Table(args colWidths=col_width style=style)
        return table

    # 创建图表
@staticmethod
    def draw_bar(bar_data: list ax: list items: list):
        drawing = Drawing(500 250)
        bc = VerticalBarChart()
        bc.x = 45       # 整个图表的x坐标
        bc.y = 45      # 整个图表的y坐标
        bc.height = 200     # 图表的高度
        bc.width = 350      # 图表的宽度
        bc.data = bar_data
        bc.strokeColor = colors.black       # 顶部和右边轴线的颜色
        bc.valueAxis.valueMin = 5000           # 设置y坐标的最小值
        bc.valueAxis.valueMax = 26000         # 设置y坐标的最大值
        bc.valueAxis.valueStep = 2000         # 设置y坐标的步长
        bc.categoryAxis.labels.dx = 2
        bc.categoryAxis.labels.dy = -8
        bc.categoryAxis.labels.angle = 20
        bc.categoryAxis.categoryNames = ax

        # 图示
        leg = Legend()
        leg.fontName = 'SimSun'