雷达图又称蜘蛛图,是一种显示二维多元数据的图形方法。图表上的每个辐条代表一个不同的变量,数据点沿着这些辐条绘制。雷达图尤其适用于比较不同实体在多个标准中的表现。本文将演示如何使用 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 天的临时许可证。