使用xlsxwriter 创建图表chart

#使用xlsxwriter 创建图表chart

import xlsxwriter
workbook = xlsxwriter.Workbook('条形图.xlsx')
worksheet = workbook.add_worksheet()

chart = workbook.add_chart({'type':'column'})  #注意是workbook,新增图表chart
line_chart = workbook.add_chart({'type': 'line'})
data =[
    [3,6,9,12,15,18],
    [2,4,6,8,10,12],
    [1,2,3,4,5,6],
]
#写入一整列数据
worksheet.write_column('A1',data[0])
worksheet.write_column('B1',data[1])
worksheet.write_column('C1',data[2])

#插入数据chart.add_series
chart.add_series({'values': '=Sheet1!$A$1:$A$6'})
chart.add_series({'values': '=Sheet1!$B$1:$B$6'})
chart.add_series({'values': '=Sheet1!$C$1:$C$6'})
line_chart.add_series({'values': '=Sheet1!$A$1:$A$6'})
line_chart.add_series({'values': '=Sheet1!$B$1:$B$6'})
line_chart.add_series({'values': '=Sheet1!$C$1:$C$6'})
chart.combine(line_chart) #合并两个不同类型的图表,用combine()函数

#设置x轴与y轴属性
chart.set_x_axis({
    'name': '月份',
    'name_font':{ 'size':12,'bold':True},
    'num_font': {'italic':True},
})

#设置图表尺寸
#chart.set_size({'width':720,'height':576})
chart.set_size({'x_scale':1.5,'y_scale':2})

#{'x_offset':20,'y_offset':5} 表示整个chart图表偏移
worksheet.insert_chart('A8',chart,{'x_offset':20,'y_offset':5})  #把图表chart添加到excel中

#设置图表标题
chart.set_title({'name':'毛收入'})
'''
chart.set_title({
    'name': '2020年毛利润',
    'overllay': True,
    'layout':{
        'x': 0.62,
        'y': 0.24,
    }
})
'''
#chart.set_title({'none': True})  #关闭此默认标题同时关闭所有其他set_title()选项。

#设置图表样式:
#用set_style(num)函数,用于将图表的样式设
#置为Excel中“设计”选项卡上可用的48种内置样式之一。
#参数num就是48种内置样式之一。
chart.set_style(4)

#设置图表区域
chart.set_chartarea({
    'fill': {'color':'#cccccc'}
})

#在下方添加数据表:用set_table()函数在水平轴下方添加一个数据表
chart.set_table()


workbook.close()

=====================================
安装:XlsxWriter
cmd窗口下,输入命令pip install XlsxWriter

posted @ 2021-05-09 22:00  yxmichael  阅读(749)  评论(0编辑  收藏  举报