将格式附加到饼图xlsxwriter Python

问题描述

在此处定义了一个饼图:

chart_1 = workbook.add_chart({'type': 'pie'})
chart_1.add_series({
    'name': 'Pie data','categories': '=Sheet2!$A$1:$A$' + str(len(cat_count)),'values': '=Sheet2!$B$1:$B$' + str(len(cat_count)),'data_labels': {'value': True,'leader_lines': True,'name': 'georgia','font': {'size': 25,'color': 'white','bold': True}},})

我正在尝试为类别添加一些格式,尤其是'gerogia'字体,以使它们与我的文件的其余部分保持一致

解决方法

除了需要将name设置为font子属性的一部分之外,您几乎拥有正确的语法。

这是一个小的工作示例:

import xlsxwriter

workbook = xlsxwriter.Workbook('chart_pie.xlsx')

worksheet = workbook.add_worksheet()

worksheet.write_column('A2',['Apple','Cherry','Pecan'])
worksheet.write_column('B2',[30,30,30])

chart = workbook.add_chart({'type': 'pie'})

chart.add_series({
    'name':       'Pie data','categories': ['Sheet1',1,3,0],'values':     ['Sheet1',1],'data_labels': {'value': True,'leader_lines': True,'font': {'size': 25,'name': 'georgia','color': 'white','bold': True}},})

chart.set_legend({'font': {'name': 'georgia'}})

worksheet.insert_chart('C2',chart,{'x_offset': 25,'y_offset': 10})

workbook.close()

输出:

enter image description here

请注意,设置类别和值范围的编程方式更简单一些。