欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用Spire.XLS創(chuàng)建柱形圖和條形圖

 更新時間:2025年07月20日 08:37:51   作者:E-iceblue  
Spire.XLS for Python 提供了便捷的圖表創(chuàng)建功能,讓開發(fā)者能夠僅用幾行代碼就創(chuàng)建各種專業(yè)圖表,下面我們就來看看怎么使用 Spire.XLS 創(chuàng)建柱形圖和條形圖吧

在日常數據分析和報告制作中,你是否遇到過這些問題:需要手動為幾十份銷售報告創(chuàng)建圖表,耗時且易出錯;客戶要求在不同場景下展示不同維度的數據對比,卻不知如何選擇合適的圖表類型;生成的圖表樣式單調,無法直觀展示數據關系?

圖表是 Excel 中強大的數據可視化工具,能將復雜的數據轉化為直觀的信息。Spire.XLS for Python 提供了便捷的圖表創(chuàng)建功能,讓開發(fā)者能夠僅用幾行代碼就創(chuàng)建各種專業(yè)圖表,包括柱形圖、條形圖、雷達圖、折線圖等。今天就讓我們來看看,怎么使用 Spire.XLS 創(chuàng)建柱形圖和條形圖

前期準備

Spire.XLS for Python 是本教程的核心工具,它提供了豐富的 Excel API,支持高效完成 Excel 文件的創(chuàng)建、編輯和轉換操作,無需 Microsoft Office,并且不依賴于任何第三方工具。

安裝它非常簡單:

直接在 cmd 窗口中輸入 pip install Spire.XLS ,然后等待進度條結束,即安裝完成。

又或者訪問 Spire.XLS for Python 下載 壓縮包,解壓縮后從“lib”文件夾中獲取 .whl 文件,再使用 pip 的 install 語句從 .whl 文件安裝就好了。

不僅如此,官方提供了詳細的安裝指南,它會手把手教你怎么將其安裝到自己的環(huán)境中。

一、柱形圖

Excel 中的簇狀柱形圖和堆疊柱形圖是柱形圖的兩種常見變體。簇狀柱形圖可以直接比較不同類別的值,而堆疊柱形圖既可以顯示每個類別的總數,也可以顯示其各個組成部分的比例。本段將介紹如何通過代碼在 Excel 中生成簇狀或堆疊柱形圖。

Python 創(chuàng)建簇狀柱形圖

當你想要對比幾個門店幾個季度的營業(yè)額時;當你要比較幾個班級幾次考試成績的差異時;當你必須分析幾類產品幾個工廠的次品概率時,簇狀柱形圖可以幫你分塊對比幾類數據,一目了然。 Spire.XLS for Python 提供的 Worksheet.Charts.Add(ExcelChartType chartType) 方法支持在工作表中添加圖表。其中的 ExcelChartType 枚舉包含 MS Excel 中預定義的各種圖表類型。

關鍵步驟如下:

  • 創(chuàng)建一個 Workbook 對象。
  • 使用 Workbook.LoadFromFile() 方法加載一個待處理的 Excel 文件
  • 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
  • 使用 Worksheet.Charts.Add(ExcelChartType.ColumnClustered) 方法在工作表中添加一個簇狀柱形圖。
  • 使用 Chart.DataRange 屬性設置圖表數據范圍。
  • 使用 Chart 對象下的各屬性設置圖表的位置、標題、樣式等。
  • 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls import *
from spire.xls.common import *

# 創(chuàng)建 Workbook 對象
workbook = Workbook()

# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 獲取第一個工作表
sheet = workbook.Worksheets[0]

# 添加一個簇狀柱形圖到工作表
chart = sheet.Charts.Add(ExcelChartType.ColumnClustered)

# 設置圖表數據范圍
chart.DataRange = sheet.Range["A1:D6"]
chart.SeriesDataFromRange = False

# 設置圖表位置
chart.LeftColumn = 5
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 21

# 設置圖表標題
chart.ChartTitle = "兒童網絡書店圖書銷售情況圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 設置坐標軸標題
chart.PrimaryCategoryAxis.Title = "圖書類別"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "銷售額"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

# 設置圖表系列的顏色、重疊、間隙寬度和數據標簽
series = chart.Series
for i in range(len(series)):
    cs = series[i]
    cs.Format.Options.IsVaryColor = True
    cs.Format.Options.Overlap = -50
    cs.Format.Options.GapWidth = 350
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# 設置圖例位置
chart.Legend.Position = LegendPositionType.Right

# 保存結果文檔
workbook.SaveToFile("簇狀柱形圖.xlsx", ExcelVersion.Version2016)

效果預覽:

程序自動生成的簇狀柱形圖

Python 創(chuàng)建堆疊柱形圖

現在你要關注于幾個門店占各個季度的營業(yè)的額比例變化,同時還要注意各個季度的總營業(yè)額變化。堆疊柱形圖將數據分類堆疊,用直觀的面積來比較不同的時間的不同變量的比例關系,同時展現總體的變化趨勢,是處理這種復雜需求的最佳解決方案。 創(chuàng)建堆疊柱形圖的過程與創(chuàng)建簇狀柱形圖基本相同。唯一不同的是,你需要將 Excel 圖表類型從 ColumnClustered 更改為 ColumnStacked

關鍵步驟如下:

  • 創(chuàng)建一個 Workbook 對象。
  • 使用 Workbook.LoadFromFile() 方法加載一個待處理的 Excel 文件
  • 使用 Workbook.Worksheets[index] 屬性獲取指定工作表。
  • 使用 Worksheet.Charts.Add(ExcelChartType.ColumnStacked) 方法在工作表中添加一個堆疊柱形圖。
  • 使用 Chart.DataRange 屬性設置圖表數據范圍。
  • 使用 Chart 對象下的各屬性設置圖表的位置、標題、樣式等。
  • 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls import *
from spire.xls.common import *

# 創(chuàng)建 Workbook 對象
workbook = Workbook()

# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 獲取第一個工作表
sheet = workbook.Worksheets[0]

# 添加一個堆疊柱形圖到工作表
chart = sheet.Charts.Add(ExcelChartType.ColumnStacked)

# 設置圖表數據范圍
chart.DataRange = sheet.Range["A1:D6"]
chart.SeriesDataFromRange = False

# 設置圖表位置
chart.LeftColumn = 5
chart.TopRow = 1
chart.RightColumn = 14
chart.BottomRow = 21

# 設置圖表標題
chart.ChartTitle = "兒童網絡書店圖書銷售情況圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 設置坐標軸標題
chart.PrimaryCategoryAxis.Title = "圖書類別"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.Title = "銷售額"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90

# 設置圖表系列的顏色、重疊、間隙寬度和數據標簽
series = chart.Series
for i in range(len(series)):
    cs = series[i]
    cs.Format.Options.IsVaryColor = True
    cs.Format.Options.GapWidth = 270
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
    cs.DataPoints.DefaultDataPoint.DataLabels.Position = DataLabelPositionType.Inside

# 設置圖例位置
chart.Legend.Position = LegendPositionType.Right

# 保存結果文檔
workbook.SaveToFile("堆疊柱形圖.xlsx", ExcelVersion.Version2016)

效果預覽:

程序自動生成的堆疊柱形圖

二、條形圖

Excel 中的條形圖是一種使用矩形條來表示分類數據的圖表。它與柱形圖相似,但其矩形條是從 Y 軸開始水平延伸的。每個矩形條的長度與特定類別或組別所代表的值相對應,通過比較條形圖的長度可以快速識別數據變化、趨勢或排名。本段將介紹如何在 Excel 中創(chuàng)建簇狀條形圖或堆疊條形圖。

Python 創(chuàng)建簇狀條形圖

當類別名稱較長或類別數量較多時,傳統的柱形圖可能導致標簽重疊難以閱讀。簇狀條形圖通過橫向布局,能更好地展示多類別數據對比。 Spire.XLS for Python 提供的 Worksheet.Chart.Add(ExcelChartType chartType) 方法可用于在工作表中添加圖表。要在 Excel 中添加簇狀條形圖,可以將圖表類型設置為 BarClustered。

關鍵步驟如下:

  • 創(chuàng)建一個 Workbook 類的對象。
  • 使用 Workbook.LoadFromFile() 方法加載一個待處理的 Excel 文件
  • 使用 Workbook.Worksheets[index] 屬性獲取特定工作表。
  • 使用 Worksheet.Chart.Add(ExcelChartType.BarClustered) 方法在工作表中添加簇狀條形圖。
  • 使用 Chart.DataRange 屬性設置圖表的數據范圍。
  • 設置圖表的位置、標題、類別軸和數值軸。
  • 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls.common import *
from spire.xls import *

# 創(chuàng)建Workbook對象
workbook = Workbook()

# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 獲取第一張工作表
sheet = workbook.Worksheets[0]

# 在工作表中添加簇狀條形圖
chart = sheet.Charts.Add(ExcelChartType.BarClustered)

# 設置圖表的數據范圍
chart.DataRange = sheet.Range["A1:D6"]
chart.SeriesDataFromRange = False

# 設置圖表位置
chart.LeftColumn = 1
chart.TopRow = 7
chart.RightColumn = 11
chart.BottomRow = 38

# 設置圖表標題及其樣式
chart.ChartTitle = "兒童網絡書店圖書銷售情況圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 20

# 設置分類軸名稱及樣式
chart.PrimaryCategoryAxis.Title = "圖書類別"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.TextRotationAngle = 90

# 設置數值軸名稱及樣式
chart.PrimaryValueAxis.Title = "銷售額"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True

# 顯示數據標簽
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# 設置圖例位置
chart.Legend.Position = LegendPositionType.Right

# 保存結果文件
workbook.SaveToFile("簇狀條形圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

效果預覽:

程序自動生成的簇狀條形圖

Python 創(chuàng)建堆疊條形圖

當需要橫向展示各部分占比和整體對比時,堆疊條形圖能同時滿足這兩方面需求,特別適合比較多個類別的構成差異。 與柱形圖類似,堆疊條形圖和簇狀條形圖的實現區(qū)別非常小,要創(chuàng)建堆疊條形圖,只需將 Excel 圖表類型更改為 BarStacked 即可。

關鍵步驟如下:

  • 創(chuàng)建一個 Workbook 類的對象。
  • 使用 Workbook.LoadFromFile() 方法加載一個待處理的 Excel 文件
  • 使用 Workbook.Worksheets[index] 屬性獲取特定工作表。
  • 使用 Worksheet.Chart.Add(ExcelChartType.BarStacked) 方法在工作表中添加堆疊條形圖。
  • 使用 Chart.DataRange 屬性設置圖表的數據范圍。
  • 設置圖表的位置、標題、類別軸和數值軸。
  • 使用 Workbook.SaveToFile() 方法保存結果文件。
from spire.xls.common import *
from spire.xls import *

# 創(chuàng)建Workbook對象
workbook = Workbook()

# 加載Excel文件
workbook.LoadFromFile("Microsoft Excel 工作表.xlsx")

# 獲取第一張工作表
sheet = workbook.Worksheets[0]

# 在工作表中添加簇狀條形圖
chart = sheet.Charts.Add(ExcelChartType.BarStacked)

# 設置圖表的數據范圍
chart.DataRange = sheet.Range["A1:D6"]
chart.SeriesDataFromRange = False

# 設置圖表位置
chart.LeftColumn = 1
chart.TopRow = 7
chart.RightColumn = 11
chart.BottomRow = 38

# 設置圖表標題及其樣式
chart.ChartTitle = "兒童網絡書店圖書銷售情況圖"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 20

# 設置分類軸名稱及樣式
chart.PrimaryCategoryAxis.Title = "圖書類別"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.TextRotationAngle = 90

# 設置數值軸名稱及樣式
chart.PrimaryValueAxis.Title = "銷售額"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.MinValue = 1000
chart.PrimaryValueAxis.TitleArea.IsBold = True

# 顯示數據標簽
for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

# 設置圖例位置
chart.Legend.Position = LegendPositionType.Right

# 保存結果文件
workbook.SaveToFile("堆疊條形圖.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

效果預覽:

程序自動生成的堆疊條形圖

三、總結與拓展

相信大家都已經注意到,以上的所有示例中,示例代碼的樣式都是大體相同的,只有 Worksheet.Chart.Add() 方法的參數不同。 如此看來,我們只需要在創(chuàng)建圖表時,使用不同的 ExcelChartType 枚舉值傳入 Worksheet.Chart.Add() 方法中,就可以實現不同種類的圖表:

  • 簇狀柱形圖:ExcelChartType.ColumnClustered
  • 堆疊柱形圖:ExcelChartType.ColumnStacked
  • 簇狀條形圖:ExcelChartType.BarClustered
  • 堆疊條形圖:ExcelChartType.BarStacked

結語

通過本文介紹的四種核心圖表創(chuàng)建方法,我們可以高效解決多種數據可視化需求:

  • 簇狀柱形圖:垂直對比不同類別的數據差異
  • 堆疊柱形圖:展示部分與整體的構成關系
  • 簇狀條形圖:優(yōu)化多類別數據的橫向對比
  • 堆疊條形圖:橫向展示部分占比與整體對比

Spire.XLS for Python 的圖表創(chuàng)建功能能顯著提升數據處理效率,特別適用于自動化生成月度/季度銷售報告、批量創(chuàng)建多份數據可視化報表、動態(tài)調整圖表類型滿足不同匯報需求,甚至可以集成到數據分析流程中實現全自動化。

到此這篇關于Python使用Spire.XLS創(chuàng)建柱形圖和條形圖的文章就介紹到這了,更多相關Python創(chuàng)建柱形圖和條形圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python3.x如何向mysql存儲圖片并顯示

    python3.x如何向mysql存儲圖片并顯示

    這篇文章主要介紹了python3.x如何向mysql存儲圖片并顯示問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Jupyter Notebook的連接密碼 token查詢方式

    Jupyter Notebook的連接密碼 token查詢方式

    這篇文章主要介紹了Jupyter Notebook的連接密碼 token查詢方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • Python自定義模塊的創(chuàng)建與使用

    Python自定義模塊的創(chuàng)建與使用

    這篇文章主要給大家介紹了關于Python自定義模塊創(chuàng)建與使用的相關資料,文中還給大家分享了python打包用戶自定義模塊的方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-05-05
  • Python的地形三維可視化Matplotlib和gdal使用實例

    Python的地形三維可視化Matplotlib和gdal使用實例

    這篇文章主要介紹了Python的地形三維可視化Matplotlib和gdal使用實例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • TensorFlow模型保存/載入的兩種方法

    TensorFlow模型保存/載入的兩種方法

    這篇文章主要為大家詳細介紹了TensorFlow 模型保存/載入的兩種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python常用庫之NumPy和sklearn入門

    python常用庫之NumPy和sklearn入門

    這篇文章主要介紹了python常用庫之NumPy和sklearn入門,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python??UPX?is?not?available問題解決方法

    python??UPX?is?not?available問題解決方法

    這篇文章主要介紹了python?UPX?is?not?available問題解決,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • 詳解Python如何查看一個函數的參數

    詳解Python如何查看一個函數的參數

    inspect模塊提供了許多用于檢查對象的工具函數,其中包括用于獲取函數參數信息的函數,所以在Python中,大家可以使用inspect模塊來查看一個函數的參數信息,本文就來和大家講講具體操作吧
    2023-05-05
  • python 重命名軸索引的方法

    python 重命名軸索引的方法

    今天小編就為大家分享一篇python 重命名軸索引的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • python SQLAlchemy 數據庫連接池的實現

    python SQLAlchemy 數據庫連接池的實現

    SSQLAlchemy提供了強大的連接池和連接管理功能,可以有效地管理數據庫連接,本文主要介紹了python SQLAlchemy 數據庫連接池的實現,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03

最新評論