Python Excel高階教程之使用 Spire.XLS創(chuàng)建雷達(dá)圖和折線圖
在日常工作中,我們經(jīng)常有著這樣的場景需求:
- 需要對比多個(gè)產(chǎn)品在多個(gè)維度(如性能、價(jià)格、用戶體驗(yàn))的表現(xiàn)
- 分析銷售數(shù)據(jù)隨時(shí)間變化的趨勢,識別峰值和低谷
- 展示員工能力評估結(jié)果,直觀呈現(xiàn)各維度得分
- 追蹤項(xiàng)目進(jìn)度,可視化各階段完成情況
面對錯(cuò)綜繁雜的海量數(shù)據(jù)時(shí),光靠眼睛看一個(gè)個(gè)單元格是效率極低的。因此,我們需要一種高效的方法來處理這些數(shù)據(jù):圖表是 Excel 中強(qiáng)大的數(shù)據(jù)可視化工具,而 Spire.XLS for Python 庫提供了便捷的圖表創(chuàng)建功能,讓開發(fā)者能夠僅用幾行代碼就創(chuàng)建各種如柱形圖、條形圖、雷達(dá)圖、折線圖等的專業(yè)圖表。這次就讓我們來學(xué)習(xí),如何使用 Spire.XLS 創(chuàng)建雷達(dá)圖和折線圖。
前期準(zhǔn)備
Spire.XLS for Python 庫是本教程的中心,它提供的 API 允許我們在 Python 中對 Excel 文件進(jìn)行各類操作,同時(shí)不依賴于外部軟件,如 Microsoft Excel。
你可以通過以下 pip 命令將它們輕松安裝到 Windows 中。
pip install spire.xls
或者通過 Spire.XLS for Python 下載 壓縮文件,解壓縮后從“lib”文件夾中獲取 .whl 文件,再使用 pip 的 install 語句從 .whl 文件安裝就可以了。
Spire.XLS for Python 官方在官方網(wǎng)站提供了詳細(xì)的教程文檔,如果還是不清楚如何安裝,你可以嘗試訪問安裝指南并尋求幫助。
一、雷達(dá)圖
雷達(dá)圖又稱蜘蛛圖,是一種顯示二維多元數(shù)據(jù)的圖形方法。圖表上的每個(gè)輻條代表一個(gè)不同的變量,數(shù)據(jù)點(diǎn)沿著這些輻條繪制。雷達(dá)圖尤其適用于比較不同實(shí)體在多個(gè)標(biāo)準(zhǔn)中的表現(xiàn)。本段將演示如何使用 Spire.XLS for Python 通過 Python 在 Excel 中創(chuàng)建兩類雷達(dá)圖。
應(yīng)用場景:
- 標(biāo)準(zhǔn)雷達(dá)圖:多維數(shù)據(jù)對比(員工能力評估、產(chǎn)品特性比較)
- 填充雷達(dá)圖:突出數(shù)據(jù)覆蓋區(qū)域(能力范圍、產(chǎn)品特性覆蓋)
Python 創(chuàng)建標(biāo)準(zhǔn)雷達(dá)圖
當(dāng)你想要對比幾件產(chǎn)品在多個(gè)維度的表現(xiàn)時(shí),又或是表現(xiàn)幾個(gè)方案在多個(gè)方面的優(yōu)劣時(shí),標(biāo)準(zhǔn)雷達(dá)圖可以將數(shù)據(jù)可視化為圖形,用簡單的多色折線表示數(shù)據(jù)的相對于頂點(diǎn)或其他數(shù)據(jù)的高低,一目了然。 Spire.XLS for Python 提供了 Worksheet.Charts.Add(ExcelChartType.Radar) 方法,用于在 Excel 工作表中添加標(biāo)準(zhǔn)雷達(dá)圖。
關(guān)鍵步驟如下:
- 創(chuàng)建一個(gè) Workbook 對象。
- 使用 Workbook.LoadFromFile() 方法加載一個(gè)待處理的 Excel 文件
- 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
- 使用 Worksheet.Charts.Add(ExcelChartType.Radar) 方法在工作表中添加一個(gè)簡單的雷達(dá)圖。
- 使用 Chart.DataRange 屬性設(shè)置圖表數(shù)據(jù)范圍。
- 設(shè)置圖表的位置、圖例和標(biāo)題。
- 使用 Workbook.SaveToFile() 方法保存結(jié)果文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 在工作表中添加雷達(dá)圖
chart = sheet.Charts.Add(ExcelChartType.Radar)
# 設(shè)置圖標(biāo)位置
chart.LeftColumn = 7
chart.TopRow = 2
chart.RightColumn = 15
chart.BottomRow = 22
# 設(shè)置圖標(biāo)的數(shù)據(jù)源
chart.DataRange = sheet.Range["A2:D8"]
chart.SeriesDataFromRange = False
# 設(shè)置圖表標(biāo)題
chart.ChartTitle = "某公司員工培訓(xùn)成績圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 18
chart.PlotArea.Fill.Visible = False
chart.Legend.Position = LegendPositionType.Corner
# 保存結(jié)果文件
workbook.SaveToFile("標(biāo)準(zhǔn)雷達(dá)圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
(Python 自動(dòng)生成標(biāo)準(zhǔn)雷達(dá)圖)
Python 創(chuàng)建填充雷達(dá)圖
填充雷達(dá)圖是標(biāo)準(zhǔn)雷達(dá)圖的一種變體,不同之處在于每個(gè)數(shù)據(jù)點(diǎn)之間的區(qū)域用顏色填充。
關(guān)鍵步驟如下:
- 創(chuàng)建一個(gè) Workbook 對象。
- 使用 Workbook.LoadFromFile() 方法加載一個(gè)待處理的 Excel 文件
- 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
- 使用 Worksheet.Charts.Add(ExcelChartType.RadarFilled) 方法在工作表中添加一個(gè)填充雷達(dá)圖。
- 使用 Chart.DataRange 屬性設(shè)置圖表數(shù)據(jù)范圍。
- 設(shè)置圖表的位置、圖例和標(biāo)題。
- 使用 Workbook.SaveToFile() 方法保存結(jié)果文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表 1.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 在工作表中添加雷達(dá)圖
chart = sheet.Charts.Add(ExcelChartType.RadarFilled)
# 設(shè)置圖標(biāo)位置
chart.LeftColumn = 7
chart.TopRow = 2
chart.RightColumn = 15
chart.BottomRow = 22
# 設(shè)置圖標(biāo)的數(shù)據(jù)源
chart.DataRange = sheet.Range["A2:D8"]
chart.SeriesDataFromRange = False
# 設(shè)置圖表標(biāo)題
chart.ChartTitle = "某公司員工培訓(xùn)成績圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 18
chart.PlotArea.Fill.Visible = False
chart.Legend.Position = LegendPositionType.Corner
# 保存結(jié)果文件
workbook.SaveToFile("填充雷達(dá)圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
(Python 自動(dòng)生成填充雷達(dá)圖)
二、折線圖
折線圖是一種通過直線連接數(shù)據(jù)點(diǎn)來展示信息的圖表,特別適用于顯示隨時(shí)間變化的趨勢。例如,在跟蹤每月銷售數(shù)據(jù)時(shí),折線圖可以幫助識別趨勢、峰值和低谷。在本段中,我們將學(xué)習(xí)如何使用 Python 通過 Spire.XLS for Python 在 Excel 中創(chuàng)建兩類折線圖。
應(yīng)用場景:
- 簡單折線圖:時(shí)間序列趨勢分析(銷售趨勢、網(wǎng)站流量)
- 堆積折線圖:部分與整體關(guān)系分析(銷售貢獻(xiàn)占比、項(xiàng)目進(jìn)度)
Python 創(chuàng)建簡單折線圖
現(xiàn)在你要關(guān)注數(shù)款產(chǎn)品在某個(gè)季度每個(gè)月銷量的趨勢,又或者要查看某地?cái)?shù)個(gè)月以來的降雨量的變化趨勢,使用折線圖可以讓繁雜的數(shù)據(jù)變?yōu)橐锥膱D表,還能同時(shí)查看其他類別的數(shù)據(jù)在同一時(shí)刻的變化。 Spire.XLS for Python 提供了 Worksheet.Charts.Add(ExcelChartType.Line) 方法,可幫助你在 Excel 工作表中快速添加簡單折線圖。
關(guān)鍵步驟如下:
- 創(chuàng)建一個(gè) Workbook 對象。
- 使用 Workbook.LoadFromFile() 方法加載一個(gè)待處理的 Excel 文件
- 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
- 使用 Worksheet.Charts.Add(ExcelChartType.Line) 方法向工作表添加簡單折線圖。
- 通過 Chart.DataRange 屬性設(shè)置圖表數(shù)據(jù)范圍。
- 設(shè)置圖表的位置、標(biāo)題、坐標(biāo)軸及其它屬性。
- 使用 Workbook.SaveToFile() 方法保存文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表 2.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 在工作表中添加折線圖
chart = sheet.Charts.Add(ExcelChartType.Line)
# 設(shè)置圖表數(shù)據(jù)范圍
chart.DataRange = sheet.Range["A2:E8"]
# 設(shè)置圖表的位置
chart.LeftColumn = 7
chart.TopRow = 2
chart.RightColumn = 14
chart.BottomRow = 18
# 設(shè)置并格式化圖表標(biāo)題
chart.ChartTitle = "某公司年度各地市銷售情況表(萬元)"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 16
# 設(shè)置圖表類別軸
chart.PrimaryCategoryAxis.Title = "季度"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
# 設(shè)置圖表值軸
chart.PrimaryValueAxis.Title = "銷售額(萬元)"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.MinValue = 100
chart.PrimaryValueAxis.TitleArea.IsBold = True
# 設(shè)置系列顏色和數(shù)據(jù)標(biāo)簽
for cs in chart.Series:
cs.Format.Options.IsVaryColor = True
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
# 設(shè)置圖例位置
chart.Legend.Position = LegendPositionType.Right
# 保存結(jié)果文件
workbook.SaveToFile("簡單折線圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
(Python 自動(dòng)生成簡單折線圖)
Python 創(chuàng)建堆積折線圖
現(xiàn)在你要在關(guān)注不同季度不同門店的銷售額的變化,同時(shí)還要注意不同季度間總銷售額的變化趨勢,堆積折線圖通過將每個(gè)類別的值堆積在一起,強(qiáng)調(diào)整體的總量變化,使數(shù)據(jù)系列對整體趨勢的貢獻(xiàn)更加直觀。 Spire.XLS for Python 提供了 Worksheet.Charts.Add(ExcelChartType.LineStacked) 方法,讓我們可以在 Excel 工作表中添加堆積折線圖。
關(guān)鍵步驟如下:
- 創(chuàng)建一個(gè) Workbook 對象。
- 使用 Workbook.LoadFromFile() 方法加載一個(gè)待處理的 Excel 文件
- 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
- 使用 Worksheet.Charts.Add(ExcelChartType.LineStacked) 方法在工作表中添加堆積折線圖。
- 通過 Chart.DataRange 屬性設(shè)置圖表數(shù)據(jù)范圍。
- 設(shè)置圖表的位置、標(biāo)題、坐標(biāo)軸及其它屬性。
- 使用 Workbook.SaveToFile() 方法保存文件。
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表 2.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
# 在工作表中添加折線圖
chart = sheet.Charts.Add(ExcelChartType.LineStacked)
# 設(shè)置圖表數(shù)據(jù)范圍
chart.DataRange = sheet.Range["A2:E8"]
# 設(shè)置圖表的位置
chart.LeftColumn = 7
chart.TopRow = 2
chart.RightColumn = 14
chart.BottomRow = 18
# 設(shè)置并格式化圖表標(biāo)題
chart.ChartTitle = "某公司年度各地市銷售情況表(萬元)"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 16
# 設(shè)置圖表類別軸
chart.PrimaryCategoryAxis.Title = "季度"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
# 設(shè)置圖表值軸
chart.PrimaryValueAxis.Title = "銷售額(萬元)"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.MinValue = 100
chart.PrimaryValueAxis.TitleArea.IsBold = True
# 設(shè)置系列顏色和數(shù)據(jù)標(biāo)簽
for cs in chart.Series:
cs.Format.Options.IsVaryColor = True
cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
# 設(shè)置圖例位置
chart.Legend.Position = LegendPositionType.Right
# 保存結(jié)果文件
workbook.SaveToFile("堆積折線圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
(Python 自動(dòng)生成堆積折線圖)
三、總結(jié)與拓展
大家應(yīng)該都發(fā)現(xiàn)了,使用Spire.XLS for Python創(chuàng)建圖表,其語法大都很相似,在上面的四個(gè)示例中,我們分別創(chuàng)建了標(biāo)準(zhǔn)雷達(dá)圖、填充雷達(dá)圖、簡單折線圖和堆積折線圖,而代碼改變了的部分只有 sheet.Charts.Add() 中填充的 ExcelChartType 枚舉值。
- 標(biāo)準(zhǔn)雷達(dá)圖:ExcelChartType.Radar
- 填充雷達(dá)圖:ExcelChartType.RadarFilled
- 簡單折線圖:ExcelChartType.Line
- 堆積折線圖:ExcelChartType.LineStacked
這意味這什么?
實(shí)際上,我們在上一篇文章 Python Excel 高階教程:使用 Spire.XLS 創(chuàng)建柱形圖和條形圖 中已經(jīng)提到過一次這個(gè)特性了。我們當(dāng)時(shí)還整理了柱形圖和條形圖的 ExcelChartType 枚舉值:
- 簇狀柱形圖:ExcelChartType.ColumnClustered
- 堆疊柱形圖:ExcelChartType.ColumnStacked
- 簇狀條形圖:ExcelChartType.BarClustered
- 堆疊條形圖:ExcelChartType.BarStacked
意思是,Spire.XLS 的圖表操作實(shí)際上相當(dāng)重復(fù),于是我們可以利用這個(gè)特性,用函數(shù)配合循環(huán)來快速創(chuàng)建多個(gè)不同類型的基本圖表:
from spire.xls import *
from spire.xls.common import *
def AddExcelChart(FileNameIn: str, FileNameOut: str, ChartType: ExcelChartType,
DataRange: str, Title: str, TitleSize: int, TitleX: str,
TitleY: str, Legend: LegendPositionType):
# 創(chuàng)建 Workbook 對象,加載Excel文件,獲取第一個(gè)工作表
workbook = Workbook()
workbook.LoadFromFile(FileNameIn)
sheet = workbook.Worksheets[0]
# 添加圖表并設(shè)置基本屬性
chart = sheet.Charts.Add(ChartType)
chart.DataRange = sheet.Range[DataRange]
chart.LeftColumn = 7
chart.TopRow = 2
chart.RightColumn = 14
chart.BottomRow = 18
# 公共標(biāo)題設(shè)置
chart.ChartTitle = Title
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = TitleSize
# 圖表類型特定配置
config = {
ExcelChartType.Radar: lambda: [
setattr(chart, 'SeriesDataFromRange', False),
setattr(chart.PlotArea.Fill, 'Visible', False)
],
ExcelChartType.RadarFilled: lambda: [
setattr(chart, 'SeriesDataFromRange', False),
setattr(chart.PlotArea.Fill, 'Visible', False)
],
ExcelChartType.Line: lambda: axis_config(chart, TitleX, TitleY, 100),
ExcelChartType.LineStacked: lambda: axis_config(chart, TitleX, TitleY, 100),
ExcelChartType.ColumnClustered: lambda: column_config(chart, TitleX, TitleY),
ExcelChartType.ColumnStacked: lambda: column_config(chart, TitleX, TitleY),
ExcelChartType.BarClustered: lambda: bar_config(chart, TitleX, TitleY, 1000),
ExcelChartType.BarStacked: lambda: bar_config(chart, TitleX, TitleY, 1000)
}
# 應(yīng)用特定配置
if ChartType in config:
config[ChartType]()
# 公共圖例設(shè)置
chart.Legend.Position = Legend
# 保存并釋放資源
workbook.SaveToFile(FileNameOut, ExcelVersion.Version2016)
workbook.Dispose()
# 輔助函數(shù):坐標(biāo)軸配置
def axis_config(chart, title_x, title_y, min_val):
# 分類軸設(shè)置
if title_x:
chart.PrimaryCategoryAxis.Title = title_x
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
# 數(shù)值軸設(shè)置
if title_y:
chart.PrimaryValueAxis.Title = title_y
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = min_val
# 系列設(shè)置
for series in chart.Series:
series.Format.Options.IsVaryColor = True
series.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
# 輔助函數(shù):柱形圖配置
def column_config(chart, title_x, title_y):
chart.SeriesDataFromRange = False
# 坐標(biāo)軸設(shè)置
if title_x:
chart.PrimaryCategoryAxis.Title = title_x
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
if title_y:
chart.PrimaryValueAxis.Title = title_y
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.HasMajorGridLines = False
# 系列設(shè)置
for series in chart.Series:
series.Format.Options.IsVaryColor = True
series.Format.Options.GapWidth = 270
series.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
series.DataPoints.DefaultDataPoint.DataLabels.Position = DataLabelPositionType.Inside
# 輔助函數(shù):條形圖配置
def bar_config(chart, title_x, title_y, min_val):
chart.SeriesDataFromRange = False
# 坐標(biāo)軸設(shè)置
if title_x:
chart.PrimaryCategoryAxis.Title = title_x
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.TextRotationAngle = 90
if title_y:
chart.PrimaryValueAxis.Title = title_y
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = min_val
# 系列設(shè)置
for series in chart.Series:
series.Format.Options.IsVaryColor = True
series.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
# 示例使用
if __name__ == "__main__":
# 配置參數(shù)
configs = [
{
"in": "Microsoft Excel 工作表 1.xlsx",
"out": "標(biāo)準(zhǔn)雷達(dá)圖.xlsx",
"type": ExcelChartType.Radar,
"range": "A2:D8",
"title": "某公司員工培訓(xùn)成績圖",
"size": 18,
"x": "",
"y": "",
"legend": LegendPositionType.Corner
},
{
"in": "Microsoft Excel 工作表 1.xlsx",
"out": "填充雷達(dá)圖.xlsx",
"type": ExcelChartType.RadarFilled,
"range": "A2:D8",
"title": "某公司員工培訓(xùn)成績圖",
"size": 18,
"x": "",
"y": "",
"legend": LegendPositionType.Corner
},
{
"in": "Microsoft Excel 工作表 2.xlsx",
"out": "簡單折線圖.xlsx",
"type": ExcelChartType.Line,
"range": "A2:E8",
"title": "某公司年度各地市銷售情況表(萬元)",
"size": 16,
"x": "季度",
"y": "銷售額(萬元)",
"legend": LegendPositionType.Right
},
{
"in": "Microsoft Excel 工作表 2.xlsx",
"out": "堆積折線圖.xlsx",
"type": ExcelChartType.LineStacked,
"range": "A2:E8",
"title": "某公司年度各地市銷售情況表(萬元)",
"size": 16,
"x": "季度",
"y": "銷售額(萬元)",
"legend": LegendPositionType.Right
},
{
"in": "Microsoft Excel 工作表.xlsx",
"out": "簇狀柱形圖.xlsx",
"type": ExcelChartType.ColumnClustered,
"range": "A1:D6",
"title": "兒童網(wǎng)絡(luò)書店圖書銷售情況圖",
"size": 18,
"x": "圖書類別",
"y": "銷售額",
"legend": LegendPositionType.Right
},
{
"in": "Microsoft Excel 工作表.xlsx",
"out": "堆疊柱形圖.xlsx",
"type": ExcelChartType.ColumnStacked,
"range": "A1:D6",
"title": "兒童網(wǎng)絡(luò)書店圖書銷售情況圖",
"size": 18,
"x": "圖書類別",
"y": "銷售額",
"legend": LegendPositionType.Right
},
{
"in": "Microsoft Excel 工作表.xlsx",
"out": "簇狀條形圖.xlsx",
"type": ExcelChartType.BarClustered,
"range": "A1:D6",
"title": "兒童網(wǎng)絡(luò)書店圖書銷售情況圖",
"size": 18,
"x": "圖書類別",
"y": "銷售額",
"legend": LegendPositionType.Right
},
{
"in": "Microsoft Excel 工作表.xlsx",
"out": "堆疊條形圖.xlsx",
"type": ExcelChartType.BarStacked,
"range": "A1:D6",
"title": "兒童網(wǎng)絡(luò)書店圖書銷售情況圖",
"size": 18,
"x": "圖書類別",
"y": "銷售額",
"legend": LegendPositionType.Right
}
]
# 批量創(chuàng)建圖表
for cfg in configs:
AddExcelChart(
FileNameIn=cfg["in"],
FileNameOut=cfg["out"],
ChartType=cfg["type"],
DataRange=cfg["range"],
Title=cfg["title"],
TitleSize=cfg["size"],
TitleX=cfg["x"],
TitleY=cfg["y"],
Legend=cfg["legend"]
)本段中我們定義了一個(gè)函數(shù) AddExcelChart,可以在Excel工作表中自動(dòng)創(chuàng)建和配置各種類型圖表。

(函數(shù) AddExcelChart 處理邏輯的主要流程圖)

(函數(shù) AddExcelChart 處理邏輯的子流程圖)
該函數(shù)簡化了使用 Spire.XLS 庫創(chuàng)建專業(yè)圖表的過程,適合批量生成多種類型的圖表。 在實(shí)際使用的時(shí)候可以根據(jù)需要,將函數(shù)參數(shù)進(jìn)行修改,來生成所需的圖表。
結(jié)語
本文通過實(shí)戰(zhàn)案例展示了如何使用 Spire.XLS for Python 創(chuàng)建專業(yè)級雷達(dá)圖和折線圖:
最佳實(shí)踐建議:
- 數(shù)據(jù)準(zhǔn)備:確保數(shù)據(jù)清潔,結(jié)構(gòu)清晰(類別在前,數(shù)值在后)
- 顏色選擇:使用對比明顯的顏色方案,提高可讀性
- 標(biāo)簽策略:重要數(shù)據(jù)點(diǎn)添加標(biāo)簽,避免圖表過度擁擠
- 自動(dòng)化:結(jié)合 Spire.XLS 庫其他功能,封裝圖表創(chuàng)建函數(shù),實(shí)現(xiàn)一鍵規(guī)?;蓤?bào)表
Spire.XLS for Python 不僅支持雷達(dá)圖和折線圖,還支持創(chuàng)建餅圖、散點(diǎn)圖、直方圖等30+種圖表類型,滿足各種數(shù)據(jù)可視化需求。
通過本教程,我們可以將數(shù)據(jù)可視化效率提升數(shù)倍,將更多時(shí)間投入數(shù)據(jù)分析與決策,而非繁瑣的圖表制作過程。立即應(yīng)用這些技術(shù),讓你的數(shù)據(jù)報(bào)告更加專業(yè)、直觀!
以上就是Python Excel高階教程之使用 Spire.XLS創(chuàng)建雷達(dá)圖和折線圖的詳細(xì)內(nèi)容,更多關(guān)于Python創(chuàng)建雷達(dá)圖和折線圖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Python利用sched模塊實(shí)現(xiàn)定時(shí)任務(wù)
今天我們來介紹一下Python當(dāng)中的定時(shí)任務(wù),主要用到的模塊是sched,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-04-04
使用Python實(shí)現(xiàn)pdf轉(zhuǎn)圖片再進(jìn)行OCR識別
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)pdf轉(zhuǎn)圖片再進(jìn)行OCR識別功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-04-04
Python代碼實(shí)現(xiàn)圖形界面的7種方法整理
這篇文章主要為大家詳細(xì)介紹了如何僅用一行代碼就能創(chuàng)建令人印象深刻的圖形用戶界面(GUI),Python中一般有7種常用方法,下面小編就為大家詳細(xì)介紹一下它們的具體使用吧2025-10-10
利用Pycharm斷點(diǎn)調(diào)試Python程序的方法
今天小編就為大家分享一篇利用Pycharm斷點(diǎn)調(diào)試Python程序的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
啥是佩奇?使用Python自動(dòng)繪畫小豬佩奇的代碼實(shí)例
今天小編就為大家分享一篇關(guān)于啥是佩奇?使用Python自動(dòng)繪畫小豬佩奇的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-02-02
pandas 實(shí)現(xiàn)將NaN轉(zhuǎn)換為None
這篇文章主要介紹了pandas 實(shí)現(xiàn)將NaN轉(zhuǎn)換為None的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python技巧之實(shí)現(xiàn)批量統(tǒng)一圖片格式和尺寸
大家在工作的時(shí)候基本都會(huì)接觸到很多的圖片,有時(shí)為了不同的工作需求需要修改圖片的尺寸或者大小。本文為大家整理了Python批量轉(zhuǎn)換圖片格式和統(tǒng)一圖片尺寸,希望對大家有所幫助2023-05-05
Python中uuid模塊的應(yīng)用實(shí)例詳解
這篇文章主要介紹了Python中uuid模塊應(yīng)用的相關(guān)資料,該模塊提供了多種方法生成UUID,包括uuid1()、uuid3()、uuid4()和uuid5(),并解釋了UUID的格式,UUID在數(shù)據(jù)庫、分布式系統(tǒng)和網(wǎng)絡(luò)協(xié)議中廣泛應(yīng)用,是處理唯一標(biāo)識符的有力工具,需要的朋友可以參考下2024-11-11

