Python Xlsxwriter 简明教程
Python XlsxWriter - Pie Chart
pie chart 是单个数据序列在圆环中的表示,这个圆环被分成对应于序列中每个数据项目的切片。在饼图中,每个切片的弧长与它所表示的数量成正比。在以下工作表中,按季度划分的某个产品的销售额以饼图的形式显示。
Working with XlsxWriter Pie Chart
使用 XlsxWriter 以编程方式生成上述图表,我们首先在工作表中写入以下数据。
headings = ['Category', 'Values']
data = [
['Q1', 'Q2', 'Q3', 'Q4'],
[125, 60, 100, 80],
]
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
声明一个具有 type=pie 的图表对象,并且单元格范围 B1:D1 用作 add_series() 方法的值参数,列 A 中的季度(Q1、Q2、Q3 和 Q4)是类别。
chart1.add_series({
'name': 'Quarterly sales data',
'categories': ['Sheet1', 1, 0, 4, 0],
'values': ['Sheet1', 1, 1, 4, 1],
})
chart1.set_title({'name': 'Pie Chart of Quarterly Sales'})
在 pie chart 中,我们可以使用 data_labels 属性通过设置 percentage=True 来表示每个饼的百分比值。
Example
生成饼图的完整程序如下 −
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
headings = ['Category', 'Values']
data = [
['Q1', 'Q2', 'Q3', 'Q4'],
[125, 60, 100, 80],
]
bold=wb.add_format({'bold':True})
worksheet.write_row('A1', headings, bold)
worksheet.write_column('A2', data[0])
worksheet.write_column('B2', data[1])
chart1 = wb.add_chart({'type': 'pie'})
chart1.add_series({
'name': 'Quarterly sales data',
'categories': ['Sheet1', 1, 0, 4, 0],
'values': ['Sheet1', 1, 1, 4, 1],
'data_labels': {'percentage':True},
})
chart1.set_title({'name': 'Pie Chart of Quarterly Sales'})
worksheet.insert_chart('D2', chart1)
wb.close()