Python XlsxWriter – 饼状图

Python XlsxWriter – 饼状图

图是将一个单一的数据系列表示成一个圆圈,该圆圈被划分为对应于该系列中每个数据项的切片。在饼图中,每个片断的弧长与它所代表的数量成正比。在下面的工作表中,某产品的季度销售数据以饼图的形式显示。

Python XlsxWriter - 饼状图

使用XlsxWriter饼状图工作

为了使用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 的Chart对象,单元格区域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'})

饼图 中,我们可以通过设置 percentage=True 来使用 data_labels 属性来表示每个饼的百分比值

例子

生成饼图的完整程序如下

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()

输出

看一下上述程序产生的饼状图。

Python XlsxWriter - 饼状图

甜甜圈图

甜甜圈图 是饼图的一个变种,中心有一个洞,它以弧线而不是切片的形式显示类别。两者都使部分与整体的关系易于一目了然地掌握。只要将图表类型改为 甜甜圈.

chart1 = workbook.add_chart({'type': 'doughnut'})

上例中数据的圆环图显示如下-

Python XlsxWriter - 饼状图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程