Python XlsxWriter 饼图
A 饼形图 是将单个数据系列表示为一个圆圈,该圆圈被分成与系列中的每个数据项对应的切片。在饼图中,每个切片的弧长与其表示的数量成正比。在下面的工作表中,产品的季度销售数据以饼图的形式显示。
使用 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 被声明并且单元格范围 B1:D1 用作值参数 添加系列() 方法和 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'})
In the 饼形图 , 我们可以用 数据标签 属性来表示每个饼图的百分比值,通过设置 百分比=真 .
例子
完整的饼图生成程序如下:
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()
看看上面程序生成的饼图。
甜甜圈图
The 甜甜圈图 是饼图的一种变体,其中心有一个孔,它将类别显示为弧线而不是切片。两者都使部分对整体的关系一目了然。只需将图表类型更改为 doughnut .
chart1 = workbook.add_chart({'type': 'doughnut'})
上例中数据的圆环图如下: