📌  相关文章
📜  Python|使用 XlsxWriter 模块在 Excel 工作表中绘制雷达图(1)

📅  最后修改于: 2023-12-03 14:46:26.082000             🧑  作者: Mango

Python使用 XlsxWriter 模块在 Excel 工作表中绘制雷达图

XlsxWriter是Python的一个库,在excel中绘制雷达图是其非常实用的功能。本文将介绍如何使用XlsxWriter库在Excel工作表中绘制雷达图。

安装XlsxWriter

使用pip命令可以在终端安装XlsxWriter:

pip install XlsxWriter
雷达图简介

雷达图也被称为蜘蛛网图,它是一种以辐射状线条连接的多个点组成的图形,代表一个数据的维度。多个数据可以画在同一张图上,通过比较这些数据不同维度的值来观察数据之间的关系。

绘制雷达图

下面的代码将展示如何使用XlsxWriter库绘制雷达图。

import xlsxwriter

workbook = xlsxwriter.Workbook('sample.xlsx')
worksheet = workbook.add_worksheet()

# 添加一些数据。
headings = ['方向', '销售人员1', '销售人员2', '销售人员3']
data = [
    ['偏北', 90, 80, 95],
    ['正北', 70, 75, 85],
    ['偏西', 75, 81, 91],
    ['偏东', 92, 70, 85],
    ['正南', 63, 85, 89]
]

# 将数据写入到Excel工作表的单元格中。
worksheet.write_row('B1', headings)
worksheet.write_column('A2', [x[0] for x in data])
worksheet.write_column('B2', [x[1] for x in data])
worksheet.write_column('C2', [x[2] for x in data])
worksheet.write_column('D2', [x[3] for x in data])

# 创建一个新的Radar chart对象。
chart = workbook.add_chart({'type': 'radar'})

# 配置图形轴和标签。
chart.set_x_axis({'name': '方向'})
chart.set_y_axis({'num_format': '0%'})
chart.set_legend({'position': 'top'})

# 将数据添加到图形中。
for i in range(len(headings)-1):
    chart.add_series({
        'name':       headings[i+1],
        'values':     '=Sheet1!$B$2:$B$6',
        'marker':     {'type': 'circle'},    # 标记选择使用圆。
    })

# 设置chart位置和大小。
chart.set_size({'width': 500, 'height': 400})
chart.set_title({'name': '销售汇总'})

# 将图表插入在Excel工作表中并关闭工作簿。
worksheet.insert_chart('F2', chart)
workbook.close()

以上代码会在当前目录下生成一个名为'sample.xlsx'的excel文件,并创建带有雷达图的工作表。图表包括五个方向,每个方向有三个销售人员的销售数据。图表的标题是“销售汇总”,轴标题是“方向”,y轴比例是百分比。

总结

本文介绍了如何使用XlsxWriter库在Excel工作表中绘制雷达图。希望这篇文章对你有所帮助。