雷达图又称蜘蛛图,是一种显示二维多元数据的图形方法。图表上的每个辐条代表一个不同的变量,数据点沿着这些辐条绘制。雷达图尤其适用于比较不同实体在多个标准中的表现。本文将演示如何使用 spire.xls for python 通过 python 在 excel 中创建雷达图。
安装 spire.xls for python
此教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 windows中。
pip install spire.xls
如果您不确定如何安装,请参考: 如何在 windows中安装 spire.xls for python
python 在 excel 中创建标准雷达图
spire.xls for python 提供了 worksheet.charts.add(excelcharttype.radar) 方法,用于在 excel 工作表中添加标准雷达图。具体步骤如下:
- 创建 workbook 类的对象。
- 通过 workbook.worksheets[] 属性获取指定的工作表。
- 将图表数据添加到指定的单元格并设置单元格样式。
- 使用 worksheet.charts.add(excelcharttype.radar) 方法在工作表中添加一个简单的雷达图。
- 通过 chart.datarange 属性设置图表的数据范围。
- 设置图表的位置、图例和标题。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 在指定单元格中添加数据
sheet.range["a1"].value = "评分"
sheet.range["a2"].value = "沟通能力"
sheet.range["a3"].value = "工作经验"
sheet.range["a4"].value = "工作效率"
sheet.range["a5"].value = "领导能力"
sheet.range["a6"].value = "创新能力"
sheet.range["a7"].value = "协作能力"
sheet.range["b1"].value = "小李"
sheet.range["b2"].numbervalue = 4
sheet.range["b3"].numbervalue = 3
sheet.range["b4"].numbervalue = 4
sheet.range["b5"].numbervalue = 3
sheet.range["b6"].numbervalue = 5
sheet.range["b7"].numbervalue = 5
sheet.range["c1"].value = "小张"
sheet.range["c2"].numbervalue = 2
sheet.range["c3"].numbervalue = 5
sheet.range["c4"].numbervalue = 4
sheet.range["c5"].numbervalue = 4
sheet.range["c6"].numbervalue = 3
sheet.range["c7"].numbervalue = 3
# 设置字体样式
sheet.range["a1:c1"].style.font.isbold = true
sheet.range["a1:c1"].style.font.size = 11
sheet.range["a1:c1"].style.font.color = color.get_white()
# 设置行高和列宽
sheet.rows[0].rowheight = 20
sheet.range["a1:c7"].columns[0].columnwidth = 15
# 设置单元格样式
sheet.range["a1:c1"].style.color = color.get_darkblue()
sheet.range["a2:c7"].borders[borderslinetype.edgebottom].linestyle = linestyletype.thin
sheet.range["a2:c7"].style.borders[borderslinetype.edgebottom].color = color.get_darkblue()
sheet.range["b1:c7"].horizontalalignment = horizontalaligntype.center
sheet.range["a1:c7"].verticalalignment = verticalaligntype.center
# 在工作表中添加雷达图
chart = sheet.charts.add(excelcharttype.radar)
# 设置图标位置
chart.leftcolumn = 4
chart.toprow = 4
chart.rightcolumn = 14
chart.bottomrow = 29
# 设置图标的数据源
chart.datarange = sheet.range["a1:c7"]
chart.seriesdatafromrange = false
# 设置图表标题
chart.charttitle = "员工绩效考核"
chart.charttitlearea.isbold = true
chart.charttitlearea.size = 14
chart.plotarea.fill.visible = false
chart.legend.position = legendpositiontype.corner
# 保存结果文件
workbook.savetofile("excel雷达图.xlsx", excelversion.version2016)
workbook.dispose()
python 在 excel 中创建填充雷达图
填充雷达图是标准雷达图的一种变体,不同之处在于每个数据点之间的区域用颜色填充。下面是使用 python 创建填充雷达图的步骤:
- 创建 workbook 类的对象。
- 通过 workbook.worksheets[] 属性获取指定的工作表。
- 将图表数据添加到指定的单元格并设置单元格样式。
- 使用 worksheet.charts.add(excelcharttype.radarfilled) 方法在工作表中添加一个填充雷达图。
- 通过 chart.datarange 属性设置图表的数据范围。
- 设置图表的位置、图例和标题。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls import *
from spire.xls.common import *
# 创建workbook对象
workbook = workbook()
# 获取第一张工作表
sheet = workbook.worksheets[0]
# 在指定单元格中添加数据
sheet.range["a1"].value = "评分"
sheet.range["a2"].value = "沟通能力"
sheet.range["a3"].value = "工作经验"
sheet.range["a4"].value = "工作效率"
sheet.range["a5"].value = "领导能力"
sheet.range["a6"].value = "创新能力"
sheet.range["a7"].value = "协作能力"
sheet.range["b1"].value = "小李"
sheet.range["b2"].numbervalue = 4
sheet.range["b3"].numbervalue = 3
sheet.range["b4"].numbervalue = 4
sheet.range["b5"].numbervalue = 3
sheet.range["b6"].numbervalue = 5
sheet.range["b7"].numbervalue = 5
sheet.range["c1"].value = "小张"
sheet.range["c2"].numbervalue = 2
sheet.range["c3"].numbervalue = 5
sheet.range["c4"].numbervalue = 4
sheet.range["c5"].numbervalue = 4
sheet.range["c6"].numbervalue = 3
sheet.range["c7"].numbervalue = 3
# 设置字体样式
sheet.range["a1:c1"].style.font.isbold = true
sheet.range["a1:c1"].style.font.size = 11
sheet.range["a1:c1"].style.font.color = color.get_white()
# 设置行高和列宽
sheet.rows[0].rowheight = 20
sheet.range["a1:c7"].columns[0].columnwidth = 15
# 设置单元格样式
sheet.range["a1:c1"].style.color = color.get_darkblue()
sheet.range["a2:c7"].borders[borderslinetype.edgebottom].linestyle = linestyletype.thin
sheet.range["a2:c7"].style.borders[borderslinetype.edgebottom].color = color.get_darkblue()
sheet.range["b1:c7"].horizontalalignment = horizontalaligntype.center
sheet.range["a1:c7"].verticalalignment = verticalaligntype.center
# 在工作表中添加填充雷达图
chart = sheet.charts.add(excelcharttype.radarfilled)
# 设置图标位置
chart.leftcolumn = 4
chart.toprow = 4
chart.rightcolumn = 14
chart.bottomrow = 29
# 设置图标的数据源
chart.datarange = sheet.range["a1:c7"]
chart.seriesdatafromrange = false
# 设置图表标题
chart.charttitle = "员工绩效考核"
chart.charttitlearea.isbold = true
chart.charttitlearea.size = 14
chart.plotarea.fill.visible = false
chart.legend.position = legendpositiontype.corner
# 保存结果文件
workbook.savetofile("excel填充雷达图.xlsx", excelversion.version2016)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。