最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python在Excel工作表中創(chuàng)建圖表的實現(xiàn)步驟

 更新時間:2025年12月30日 08:38:35   作者:大丸子  
在現(xiàn)代企業(yè)中,數(shù)據(jù)驅(qū)動的決策變得越來越重要,Excel作為企業(yè)中最常用的數(shù)據(jù)分析工具,其強大的表格和圖表功能在日常工作中不可或缺,然而,當(dāng)面對成百上千條數(shù)據(jù)或需要生成定期報告時,手動制作圖表不僅耗時,還容易出錯,所以本文介紹了如何實現(xiàn)Excel圖表自動化生成

引言

在現(xiàn)代企業(yè)中,數(shù)據(jù)驅(qū)動的決策變得越來越重要。從銷售分析到市場趨勢跟蹤,再到項目績效考核,清晰直觀的數(shù)據(jù)呈現(xiàn)不僅能提高分析效率,也能增強管理層的決策信心。Excel 作為企業(yè)中最常用的數(shù)據(jù)分析工具,其強大的表格和圖表功能在日常工作中不可或缺。然而,當(dāng)面對成百上千條數(shù)據(jù)或需要生成定期報告時,手動制作圖表不僅耗時,還容易出錯。而 Python 擁有豐富的生態(tài)和強大的數(shù)據(jù)處理能力,通過編程實現(xiàn) Excel 圖表自動化生成,既可以保證數(shù)據(jù)準(zhǔn)確性,也可以大幅提升效率。

本文將使用 Free Spire.XLS for Python 展示如何在 Excel 中創(chuàng)建柱狀圖、折線圖、餅圖及氣泡圖,結(jié)合實際業(yè)務(wù)場景的數(shù)據(jù)示例,幫助你快速掌握自動化可視化技能。

1. 環(huán)境準(zhǔn)備與庫安裝

首先需要安裝 Free Spire.XLS for Python:

pip install spire.xls.free

安裝完成后,我們可以開始創(chuàng)建 Excel 工作簿并準(zhǔn)備數(shù)據(jù)。下面是一個創(chuàng)建 Excel 文件的簡單示例:

from spire.xls import Workbook

# 創(chuàng)建一個新的工作簿
wb = Workbook()
sheet = wb.Worksheets[0]
sheet.Name = "銷售數(shù)據(jù)"

# 保存初始文件
wb.SaveToFile("SalesData.xlsx")
wb.Dispose()
print("Excel 文件已創(chuàng)建:SalesData.xlsx")

說明
Workbook 對象代表整個 Excel 文件,Worksheets[0] 獲取第一個工作表。這里我們創(chuàng)建了一個名為“銷售數(shù)據(jù)”的工作表,為后續(xù)寫入數(shù)據(jù)和生成圖表做好準(zhǔn)備。

注意:新建的Excel工作簿有三個默認(rèn)的工作表,Sheet1、Sheet2、Sheet3,可根據(jù)需要直接讀取編輯或清除后重新創(chuàng)建。

2. 在 Excel 中寫入業(yè)務(wù)數(shù)據(jù)

假設(shè)我們正在分析一個季度內(nèi)不同地區(qū)的銷售額情況。我們可以在代碼中直接生成數(shù)據(jù):

from spire.xls import Workbook

wb = Workbook()
sheet = wb.Worksheets[0]
sheet.Name = "銷售數(shù)據(jù)"

# 寫入表頭
headers = ["地區(qū)", "產(chǎn)品", "銷售額 (萬元)"]
for col, header in enumerate(headers, start=1):
    sheet.Range[1, col].Text = header

# 寫入示例數(shù)據(jù)
sales_data = [
    ["華東", "筆記本電腦", 120],
    ["華東", "平板電腦", 85],
    ["華北", "筆記本電腦", 95],
    ["華北", "平板電腦", 70],
    ["華南", "筆記本電腦", 110],
    ["華南", "平板電腦", 90],
]

for row, data in enumerate(sales_data, start=2):
    for col, value in enumerate(data, start=1):
        if isinstance(value, str):
            sheet.Range[row, col].Value = value
        else:
            sheet.Range[row, col].NumberValue = value

# 自動調(diào)整列寬
sheet.Range.AutoFitColumns()

wb.SaveToFile("SalesData.xlsx")
wb.Dispose()
print("業(yè)務(wù)數(shù)據(jù)已寫入 Excel 文件")

工作表預(yù)覽:

說明
這里我們模擬了三個區(qū)域、兩類產(chǎn)品的季度銷售數(shù)據(jù),更貼近實際業(yè)務(wù)場景,便于生成有意義的圖表。

3. 創(chuàng)建柱狀圖:不同地區(qū)產(chǎn)品銷售對比

柱狀圖適合展示不同類別的對比情況。我們以銷售額為數(shù)據(jù)創(chuàng)建柱狀圖:

from spire.xls import Workbook, ExcelChartType, Color

wb = Workbook()
wb.LoadFromFile("SalesData.xlsx")
sheet = wb.Worksheets[0]

# 添加柱狀圖
chart = sheet.Charts.Add()
chart.DataRange = sheet.Range["A1:C7"]  # 包含表頭和數(shù)據(jù)
chart.SeriesDataFromRange = False        # 按列獲取系列數(shù)據(jù)

# 設(shè)置圖表位置
chart.LeftColumn = 1
chart.TopRow = 8
chart.RightColumn = 10
chart.BottomRow = 25

# 設(shè)置圖表類型
chart.ChartType = ExcelChartType.ColumnClustered
chart.ChartTitle = "各地區(qū)產(chǎn)品銷售額對比"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 設(shè)置軸標(biāo)題
chart.PrimaryCategoryAxis.Title = "地區(qū)"
chart.PrimaryValueAxis.Title = "銷售額 (萬元)"

# 設(shè)置顏色與數(shù)據(jù)標(biāo)簽
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

wb.SaveToFile("SalesChart_Column.xlsx")
wb.Dispose()
print("柱狀圖創(chuàng)建完成:SalesChart_Column.xlsx")

工作表預(yù)覽:

說明
通過 chart.DataRange 指定數(shù)據(jù)區(qū)域,chart.ChartType 設(shè)置圖表類型,DataLabels 顯示每個數(shù)據(jù)點的數(shù)值,使圖表直觀易讀。

4. 創(chuàng)建折線圖:觀察銷售趨勢

折線圖適用于展示銷售趨勢或隨時間變化的數(shù)據(jù):

from spire.xls import Workbook, ExcelChartType

wb = Workbook()
wb.LoadFromFile("SalesData.xlsx")
sheet = wb.Worksheets[0]

chart_line = sheet.Charts.Add()
chart_line.DataRange = sheet.Range["A1:C7"]
chart_line.SeriesDataFromRange = False

chart_line.LeftColumn = 1
chart_line.TopRow = 9
chart_line.RightColumn = 9
chart_line.BottomRow = 29
chart_line.ChartType = ExcelChartType.Line
chart_line.ChartTitle = "銷售趨勢分析"
chart_line.ChartTitleArea.IsBold = True
chart_line.ChartTitleArea.Size = 12
chart_line.PrimaryCategoryAxis.Title = "地區(qū)"
chart_line.PrimaryValueAxis.Title = "銷售額 (萬元)"

wb.SaveToFile("SalesChart_Line.xlsx")
wb.Dispose()
print("折線圖創(chuàng)建完成:SalesChart_Line.xlsx")

工作表預(yù)覽:

說明
折線圖能清晰顯示不同地區(qū)產(chǎn)品的銷售變化趨勢,便于管理者快速發(fā)現(xiàn)數(shù)據(jù)波動。

5. 創(chuàng)建餅圖:展示產(chǎn)品銷售占比

餅圖適合展示各產(chǎn)品在總銷售中的占比:

from spire.xls import Workbook, ExcelChartType

wb = Workbook()
wb.LoadFromFile("SalesData.xlsx")
sheet = wb.Worksheets[0]

chart_pie = sheet.Charts.Add()
chart_pie.DataRange = sheet.Range["B2:C7"]  # 產(chǎn)品與銷售額
chart_pie.SeriesDataFromRange = False
chart_pie.LeftColumn = 1
chart_pie.TopRow = 10
chart_pie.RightColumn = 8
chart_pie.BottomRow = 30
chart_pie.ChartType = ExcelChartType.Pie
chart_pie.ChartTitle = "產(chǎn)品銷售占比"
chart_pie.ChartTitleArea.IsBold = True
chart_pie.ChartTitleArea.Size = 12

# 顯示類別和百分比
chart_pie.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasCategoryName = True
chart_pie.Series[0].DataPoints.DefaultDataPoint.DataLabels.HasPercentage = True

wb.SaveToFile("SalesChart_Pie.xlsx")
wb.Dispose()
print("餅圖創(chuàng)建完成:SalesChart_Pie.xlsx")

工作表預(yù)覽:

說明
餅圖直觀顯示不同產(chǎn)品在總銷售中的份額,便于分析主力產(chǎn)品和市場分布。

6. 創(chuàng)建氣泡圖:三維數(shù)據(jù)可視化

氣泡圖可同時展示三個維度,例如地區(qū)、產(chǎn)品銷售額及利潤率:

from spire.xls import Workbook, ExcelChartType

wb = Workbook()
wb.LoadFromFile("SalesData.xlsx")
sheet = wb.Worksheets[0]

# 增加利潤率列
profit_rates = [0.15, 0.12, 0.13, 0.10, 0.14, 0.11]
for i, rate in enumerate(profit_rates, start=2):
    sheet.Range[i, 4].NumberValue = rate
sheet.Range[1, 4].Text = "利潤率"

chart_bubble = sheet.Charts.Add(ExcelChartType.Bubble)
chart_bubble.DataRange = sheet.Range["B1:D7"]
chart_bubble.SeriesDataFromRange = False
chart_bubble.Series[0].Bubbles = sheet.Range["D2:D7"]  # 氣泡大小
chart_bubble.LeftColumn = 1
chart_bubble.TopRow = 10
chart_bubble.RightColumn = 11
chart_bubble.BottomRow = 29
chart_bubble.ChartTitle = "銷售額與利潤率氣泡圖"
chart_bubble.ChartTitleArea.IsBold = True
chart_bubble.ChartTitleArea.Size = 12

wb.SaveToFile("SalesChart_Bubble.xlsx")
wb.Dispose()
print("氣泡圖創(chuàng)建完成:SalesChart_Bubble.xlsx")

工作表預(yù)覽:

說明
氣泡圖不僅展示銷售額,還通過氣泡大小體現(xiàn)利潤率,實現(xiàn)多維數(shù)據(jù)可視化。

7. 技術(shù)細(xì)節(jié)總結(jié)與關(guān)鍵類方法概覽

在前面的章節(jié)中,我們展示了如何使用 Free Spire.XLS for Python 創(chuàng)建柱狀圖、折線圖、餅圖和氣泡圖。從技術(shù)實現(xiàn)角度來看,圖表創(chuàng)建的核心流程可以總結(jié)為以下幾個關(guān)鍵步驟:

Python Excel 圖表創(chuàng)建步驟總結(jié)

  • 準(zhǔn)備數(shù)據(jù)將業(yè)務(wù)數(shù)據(jù)寫入 Excel 工作表。數(shù)據(jù)格式和區(qū)域必須符合圖表要求,例如數(shù)值列用于 Y 軸,分類列用于 X 軸或類別。
  • 添加圖表對象使用 sheet.Charts.Add() 創(chuàng)建圖表對象,并通過 chart.DataRange 指定數(shù)據(jù)來源。
  • 設(shè)置圖表類型與位置通過 chart.ChartType 選擇圖表類型(如柱狀圖、折線圖、餅圖、氣泡圖),使用 LeftColumn、TopRow、RightColumn、BottomRow 精確定位圖表在工作表中的位置。
  • 配置標(biāo)題與軸信息設(shè)置 chart.ChartTitlePrimaryCategoryAxis.Title、PrimaryValueAxis.Title 等屬性,為圖表和坐標(biāo)軸添加標(biāo)題,并可設(shè)置字體、大小和加粗。
  • 美化圖表設(shè)置系列顏色 cs.Format.Fill.ForeColor、數(shù)據(jù)標(biāo)簽 DataLabels.HasValue、圖例位置等,增強可讀性和視覺效果。
  • 保存文件使用 wb.SaveToFile() 將生成的圖表保存到指定文件。

關(guān)鍵類、方法與屬性

類 / 方法 / 屬性說明
WorkbookExcel 工作簿對象,支持創(chuàng)建、加載和保存文件
Workbook.LoadFromFile()從本地文件加載 Excel 工作簿
Workbook.SaveToFile()保存 Excel 文件到指定路徑
Worksheet表示單個工作表,是操作數(shù)據(jù)和圖表的主體對象
sheet.Range[row, col]獲取或設(shè)置指定單元格的內(nèi)容
sheet.Charts.Add()在工作表中創(chuàng)建新的圖表對象
chart.DataRange指定圖表的數(shù)據(jù)源區(qū)域
chart.SeriesDataFromRange設(shè)置系列數(shù)據(jù)的方向(按行或按列)
chart.ChartType設(shè)置圖表類型(柱狀圖、折線圖、餅圖、氣泡圖等)
chart.ChartTitle設(shè)置圖表標(biāo)題文本
chart.PrimaryCategoryAxis.Title設(shè)置 X 軸標(biāo)題
chart.PrimaryValueAxis.Title設(shè)置 Y 軸標(biāo)題

通過理解上述關(guān)鍵類、方法和屬性,你可以靈活地創(chuàng)建各種類型的圖表,并根據(jù)業(yè)務(wù)需求進行精細(xì)定制。掌握這些技術(shù)細(xì)節(jié),能讓你在實際項目中快速生成高質(zhì)量、可讀性強的 Excel 可視化報表,同時保持代碼簡潔和可維護性。

總結(jié)

本文以實際業(yè)務(wù)數(shù)據(jù)為例,展示了如何使用 Free Spire.XLS for Python 在 Excel 中創(chuàng)建柱狀圖、折線圖、餅圖和氣泡圖,實現(xiàn)數(shù)據(jù)的直觀可視化。通過編程方式生成圖表,不僅避免了手動操作的繁瑣和易錯問題,還能輕松應(yīng)對批量報告和復(fù)雜數(shù)據(jù)分析需求。

掌握這一技能后,你可以將數(shù)據(jù)分析與報告生成完全自動化,從而節(jié)省時間,提高效率,并為決策提供可靠的可視化支持。結(jié)合 Free Spire.XLS 的其他功能,如條件格式、數(shù)據(jù)驗證和公式操作,可以進一步打造智能化的 Excel 自動化工作流,讓企業(yè)的數(shù)據(jù)價值發(fā)揮到最大。

以上就是使用Python在Excel工作表中創(chuàng)建圖表的實現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于Python Excel創(chuàng)建圖表的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • django 微信網(wǎng)頁授權(quán)認(rèn)證api的步驟詳解

    django 微信網(wǎng)頁授權(quán)認(rèn)證api的步驟詳解

    這篇文章主要介紹了django 微信網(wǎng)頁授權(quán)認(rèn)證api的步驟詳解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • Python中優(yōu)化堆積條形圖的實現(xiàn)方法與對比效果

    Python中優(yōu)化堆積條形圖的實現(xiàn)方法與對比效果

    在數(shù)據(jù)可視化中,堆積條形圖 擅長展示 整體與構(gòu)成 的關(guān)系,今天,本文將嘗試探索一下改進堆積條形圖的呈現(xiàn)方式,讓復(fù)雜數(shù)據(jù)對比變得一目了然,感興趣的小伙伴可以了解下
    2026-01-01
  • Python+Selenium+phantomjs實現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)

    Python+Selenium+phantomjs實現(xiàn)網(wǎng)頁模擬登錄和截圖功能(windows環(huán)境)

    Python是一種跨平臺的計算機程序設(shè)計語言,它可以運行在Windows、Mac和各種Linux/Unix系統(tǒng)上。這篇文章主要介紹了Python+Selenium+phantomjs實現(xiàn)網(wǎng)頁模擬登錄和截圖功能,需要的朋友可以參考下
    2019-12-12
  • Django更新models數(shù)據(jù)庫結(jié)構(gòu)步驟

    Django更新models數(shù)據(jù)庫結(jié)構(gòu)步驟

    這篇文章主要介紹了Django更新models數(shù)據(jù)庫結(jié)構(gòu)的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python中的時區(qū)問題

    python中的時區(qū)問題

    這篇文章主要介紹了python中的時區(qū)問題的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 高性能web服務(wù)器框架Tornado簡單實現(xiàn)restful接口及開發(fā)實例

    高性能web服務(wù)器框架Tornado簡單實現(xiàn)restful接口及開發(fā)實例

    Tornado和現(xiàn)在的主流Web服務(wù)器框架(包括大多數(shù)Python的框架)有著明顯的區(qū)別:它是非阻塞式服務(wù)器,而且速度相當(dāng)快。得利于其 非阻塞的方式和對epoll的運用,Tornado每秒可以處理數(shù)以千計的連接,這意味著對于實時Web服務(wù)來說,Tornado是一個理想的Web框架。
    2014-07-07
  • Python如何使用Pandas庫從Excel文件中提取數(shù)據(jù)

    Python如何使用Pandas庫從Excel文件中提取數(shù)據(jù)

    今天我要分享一個超級實用的Python技巧:如何用pandas庫從Excel文件中提取我們需要的數(shù)據(jù)列,這個技能在工作中特別有用,比如處理學(xué)生成績表、客戶名單等Excel數(shù)據(jù)時,可以快速獲取關(guān)鍵信息,需要的朋友可以參考下
    2025-04-04
  • Python中的類對象示例詳解

    Python中的類對象示例詳解

    這篇文章主要介紹了Python中類對象示例的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Django Xadmin多對多字段過濾實例

    Django Xadmin多對多字段過濾實例

    這篇文章主要介紹了Django Xadmin多對多字段過濾實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • 在Python中關(guān)于中文編碼問題的處理建議

    在Python中關(guān)于中文編碼問題的處理建議

    這篇文章主要介紹了幾種在Python中關(guān)于中文編碼問題的處理方法,包括在使用Unicode編碼時碰到的異常等,需要的朋友可以參考下
    2015-04-04

最新評論

礼泉县| 新津县| 稷山县| 博乐市| 通河县| 洪江市| 安龙县| 理塘县| 疏附县| 望奎县| 安西县| 大洼县| 得荣县| 承德县| 伊金霍洛旗| 中超| 嘉兴市| 宜章县| 烟台市| 华坪县| 资阳市| 上杭县| 鄯善县| 资兴市| 南雄市| 绥芬河市| 山阳县| 乌拉特后旗| 娱乐| 吉安市| 基隆市| 车险| 虹口区| 桓台县| 宿松县| 克拉玛依市| 水城县| 西平县| 丰台区| 汶上县| 汶川县|