使用Python在Word中生成多種不同類型的圖表

目錄

工具與環境配置

在 Word 中創建圖表的步驟

在Word中創建柱形圖

在Word中創建條形圖

在Word中創建折線圖

在Word中創建餅圖

在Word中創建散點圖

在Word中創建氣泡圖


在 Word 文檔中插入圖表不僅能更直觀地呈現數據,還能提升文檔的可讀性和專業性。常見的圖表類型包括柱形圖、條形圖、折線圖、餅圖、散點圖和氣泡圖等,不同類型的圖表適用于不同的數據展示需求。雖然 Word 提供了內置的圖表創建工具,但使用 Python 進行自動化操作可以顯著提高工作效率,尤其適用于動態數據處理或批量文檔生成。

本文將介紹如何使用 Python 在 Word 文檔中創建和自定義各種圖表,涵蓋以下類型:

  • 柱形圖
  • 條形圖
  • 折線圖
  • 餅圖
  • 散點圖
  • 氣泡圖

工具與環境配置

要在 Python 中創建和自定義 Word 圖表,可以使用 Spire.Doc for Python庫。該庫支持生成、處理和轉換Word文檔,支持多種Word圖表類型。

安裝Spire.Doc for Python

在開始之前,請運行以下命令安裝 Spire.Doc for Python:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("柱形圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入柱形圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Column, float(400), float(200))# 獲取圖表并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義 X 軸類別
categories = ["銷售", "市場", "研發", "財務", "運營"]# 定義 Y 軸數據
series_1 = [float(1800000), float(900000), float(2000000), float(700000), float(1600000)]
series_2 = [float(1900000), float(800000), float(1850000), float(750000), float(1750000)]# 添加數據系列
chart.Series.Add("第一季度", categories, series_1)
chart.Series.Add("第二季度", categories, series_2)# 格式化 Y 軸標簽
chart.AxisY.NumberFormat.FormatCode = "#,##0 元"# 設置圖表標題
chart.Title.Text = "部門季度收入對比"# 保存 Word 文檔
document.SaveToFile("柱形圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建柱形圖

在Word中創建條形圖

條形圖與柱形圖類似,但它使用水平條形表示數據,適用于類別名稱較長或需要強調多個數據點對比的情況。

以下是在 Word 中使用 Python 創建條形圖的實現代碼:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("條形圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入條形圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Bar, float(400), float(250))# 獲取圖表并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義 Y 軸類別(條形圖)
categories = ["一月", "二月", "三月", "四月", "五月"]# 定義 X 軸數據
series_1 = [float(5000), float(7000), float(8500), float(6200), float(9800)]
series_2 = [float(4800), float(7200), float(8200), float(6100), float(9600)]# 添加數據系列
chart.Series.Add("產品 A", categories, series_1)
chart.Series.Add("產品 B", categories, series_2)# 設置圖表標題
chart.Title.Text = "月度銷售對比"# 保存 Word 文檔
document.SaveToFile("條形圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建條形圖

在Word中創建折線圖

折線圖適用于顯示趨勢變化,常用于表現銷售增長、溫度變化等時間序列數據。

以下是在 Word 中使用 Python 創建折線圖的實現代碼:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("折線圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入折線圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Line, float(400), float(250))# 獲取圖表并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義 X 軸類別(年份)
categories = ["2019", "2020", "2021", "2022", "2023"]# 定義 Y 軸數據
series_1 = [float(1200), float(2400), float(3100), float(3800), float(4500)]
series_2 = [float(1300), float(2200), float(2900), float(4000), float(4700)]# 添加數據系列
chart.Series.Add("品牌 A", categories, series_1)
chart.Series.Add("品牌 B", categories, series_2)# 格式化 Y 軸標簽
chart.AxisY.NumberFormat.FormatCode = "#,##0 元"# 設置圖表標題
chart.Title.Text = "年度收入增長趨勢"# 保存 Word 文檔
document.SaveToFile("折線圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建折線圖

在Word中創建餅圖

餅圖是一種圓形圖表,它將數據表示為餅狀的不同切片,使用戶能夠直觀地了解各個部分在數據集中的比例。餅圖常用于商業報告,例如市場份額分析、支出分布或調查結果展示。

以下是在 Word 中使用 Python 創建餅圖的實現代碼:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("餅圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入餅圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Pie, float(400), float(250))# 獲取圖表對象并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義類別
categories = ["電子產品", "服裝", "家居用品", "書籍", "玩具"]# 定義每個類別的對應值
values = [float(50000), float(30000), float(40000), float(20000), float(15000)]# 添加數據系列
chart.Series.Add("銷售額分布", categories, values)# 設置圖表標題
chart.Title.Text = "各品類銷售額分布"# 保存 Word 文檔
document.SaveToFile("餅圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建餅圖

在Word中創建散點圖

散點圖用于展示兩個數值變量之間的關系。此類圖表廣泛用于科學研究和統計分析,以識別數據集中的趨勢和模式。

以下是在 Word 中使用 Python 創建散點圖的實現代碼:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一的頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("散點圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入散點圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Scatter, float(400), float(250))# 獲取圖表對象并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義 X 軸類別(年份)
categories = ["2020", "2021", "2022", "2023", "2024"]# 定義 Y 軸數據
sales_product_a = [float(8000), float(12000), float(15000), float(17000), float(20000)]
sales_product_b = [float(7000), float(11000), float(13000), float(16000), float(18000)]# 添加兩個數據系列
chart.Series.Add("產品 A 銷量", categories, sales_product_a)
chart.Series.Add("產品 B 銷量", categories, sales_product_b)# 設置圖表標題
chart.Title.Text = "年度產品銷售數據"# 保存 Word 文檔
document.SaveToFile("散點圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建散點圖

在Word中創建氣泡圖

氣泡圖是散點圖的一種擴展,數據點由大小不同的氣泡表示。氣泡圖適用于展示三個數值變量之間的關系,常用于市場分析和數據可視化。

以下是在 Word 中使用 Python 創建氣泡圖的實現代碼:

from spire.doc import *# 創建 Word 文檔
document = Document()# 添加節并設置統一的頁邊距(1 英寸)
section = document.AddSection()
section.PageSetup.Margins.All = float(72)# 添加段落并插入文本
title_paragraph = section.AddParagraph()
text = title_paragraph.AppendText("氣泡圖示例")
text.CharacterFormat.FontName = "等線"# 添加段落并插入氣泡圖
paragraph = section.AddParagraph()
shape = paragraph.AppendChart(ChartType.Bubble, float(400), float(250))# 獲取圖表對象并清除默認數據
chart = shape.Chart
chart.Series.Clear()# 定義 X 軸數值
timelines = [float(2018), float(2019), float(2020), float(2021), float(2022)]# 定義 Y 軸數值
sales_growth = [1.2, 2.5, 3.8, 4.5, 5.3]# 定義氣泡大小
bubble_sizes = [15.0, 25.0, 35.0, 45.0, 55.0]# 添加數據系列
chart.Series.Add("銷售增長", timelines, sales_growth, bubble_sizes)# 設置圖表標題
chart.Title.Text = "年度銷售增長分析"# 保存 Word 文檔
document.SaveToFile("氣泡圖示例.docx", FileFormat.Docx)
document.Close()

Python 在Word中創建氣泡圖

由于篇幅問題,本文只選擇性介紹了部分Word圖表類型。你還可以使用類似方法創建其他類型的圖表,如面積圖、雷達圖和股票圖等。所有圖表的創建方式大致相同,只需修改 ChartType 參數,并根據圖表類型調整數據結構。

以上就是使用Python在Word中生成和自定義多種不同類型的圖表的全部內容。感謝閱讀!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73342.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73342.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73342.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目-個人博客測試報告

目錄 一、項目背景 二、項目功能 三、測試計劃 (1)功能測試 (2)自動化測試 (3)性能測試 一、項目背景 1、個人博客系統是一個操作簡單的基于Spring前后端分離的項目,同時使用MySQL數據庫來進…

前端npm包- CropperJS

文章目錄 一、CropperJS**核心特性****官網與文檔****安裝與使用**1. **通過 npm/yarn/pnpm 安裝**2. **HTML 結構**3. **引入 CSS 和 JS**4. **初始化裁剪器** **相關插件/替代方案****適用場景****注意事項** 總結 一、CropperJS cropperjs 是一個輕量級、功能強大的 圖片裁…

楊輝三角形(信息學奧賽一本通-2043)

【題目描述】 例5.11 打印楊輝三角形的前n(2≤n≤20)行。楊輝三角形如下圖: 當n5時 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 輸出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【輸入】 輸入行數n。 【輸出】 輸出如題述三角形。n行&#…

圖論入門【數據結構基礎】:什么是圖?如何表示圖?

圖(Graph) 是一種非線性數據結構,用于表示對象之間的關系。圖由 頂點(Vertex) 和 邊(Edge) 組成,其中頂點表示對象,邊表示對象之間的關系。圖廣泛應用于計算機科學、數學…

如何使用HACS一鍵集成米家與果家設備到HomeAssistant玩轉智能家居

文章目錄 前言1. 下載HACS源碼2. 添加HACS商店3. 綁定米家設備 前言 各位科技潮人和智能家居發燒友們,是不是也夢想著把家里變成一個高科技的空間?有了群暉NAS這位得力助手,不僅存儲空間大得嚇人,還能通過Docker輕松安裝各種應用…

《Java對象“比武場“:Comparable與Comparator的巔峰對決》

目錄 引言: 一、認識接口 1.1 Comparable 1.2 Comparator ?編輯 1.3 核心概念對比 二、代碼實現對比 2.1 Comparable 實現示例 2.2 Comparator 實例示例 三、核心區別詳解 3.1 設計理念差異 3.2 方法調用 3.3 使用情景 四、本質區別總結 引言&#x…

Android自動化測試工具

細解自動化測試工具 Airtest-CSDN博客 以下是幾種常見的Android應用自動化測試工具: Appium:支持多種編程語言,如Java、Python、Ruby、JavaScript等。可以用于Web應用程序和原生應用程序的自動化測試,并支持iOS和Android平臺。E…

Go vs Rust vs C++ vs Python vs Java:誰主后端沉浮

一、核心性能對比(基于TechEmpower基準測試) 語言單核QPS延遲(ms)內存消耗適用場景Rust650,0000.1245MB高頻交易/區塊鏈C++720,0000.0932MB游戲服務器/實時渲染Go230,0000.45110MB微服務/API網關Java180,0001.2450MB企業ERP/銀行系統Python12,0008.5220MBAI接口/快速原型技術…

vue3:八、登錄界面實現-頁面初始搭建、基礎實現

一、初始工作 1、創建登錄文件 在src/views中創建文件LoginView.vue文件 2、創建路由 在router/index.js中增加登錄的信息 代碼 import { createRouter, createWebHistory } from vue-router import HomeView from ../views/HomeView.vue const router createRouter({hist…

結構型模式之適配器模式:讓不兼容的接口兼容

在軟件開發中,經常會遇到這樣一種情況:系統的不同部分需要進行交互,但由于接口不兼容,導致無法直接使用。這時,適配器模式(Adapter Pattern)就能派上用場。適配器模式是設計模式中的結構型模式&…

Qt從入門到入土(十) -數據庫操作--SQLITE

認識 數據庫是用于存儲、管理和檢索數據的系統化集合。它是一種按照特定結構組織數據的存儲方式,通過軟件(數據庫管理系統,DBMS)來實現數據的高效存儲、查詢、更新和管理。通過文件存儲數據適用于少量的數據,而當擁有…

Django REST Framework中的序列化器類和視圖類

序列化器類 一、Serializer序列化類 Serializer是DRF的序列化器基類,提供基本功能,使用Serializer類需要自己定義字段名稱和類型。 BookSerializer(Serializer):name serializers.CharField()price serlializers.IntegerField()date serlializers.…

圖像分類數據集

《動手學深度學習》-3.5-學習筆記 # 通過ToTensor實例將圖像數據從PIL類型變換成32位浮點數格式, # 并除以255使得所有像素的數值均在0~1之間 trans transforms.ToTensor()#用于將圖像數據從 PIL 圖像格式(Python Imaging Library&#xff…

架構師面試(十五):熔斷設計

問題 某電商平臺經常需要在大促運營活動中暫停評論、退款等業務,基于服務治理的設計理念,我們需要對該電商平臺微服務系統的【服務熔斷】進行設計,對此下面描述中說法正確的有哪幾項呢? A. 服務管控系統管理著平臺中所有服務之間…

Ubuntu20.04安裝運行DynaSLAM

目錄 一、安裝Anaconda 二、相關依賴庫安裝 1、boost安裝 2、Eigen 3安裝 3、opencv安裝 4、Pangolin安裝 三、配置Mask_RCNN環境 四、DynaSLAM編譯 五、DynaSLAM運行 一、安裝Anaconda 打開以下鏈接: Index of / 下載和自己系統匹配的安裝包。這里下…

X86 RouterOS 7.18 設置筆記三:防火墻設置(IPV4)

X86 j4125 4網口小主機折騰筆記五:PVE安裝ROS RouterOS X86 RouterOS 7.18 設置筆記一:基礎設置 X86 RouterOS 7.18 設置筆記二:網絡基礎設置(IPV4) X86 RouterOS 7.18 設置筆記三:防火墻設置(IPV4) X86 RouterOS 7.18 設置筆記四…

從 YOLOv1 到 YOLOv2:目標檢測的進化之路

引言 你有沒有想過,當你用手機拍一張照片,里面的人、車、狗是怎么被自動識別出來的?這背后靠的就是目標檢測技術。目標檢測是計算機視覺中的一個重要領域,它不僅要回答“圖片里有什么”,還要告訴你“這些東西在哪里”…

數據的存儲---整型、浮點型

目錄 一、整型在內存中的存儲 1. 原碼、反碼、補碼 2. 大端與小端 二、浮點數在內存中的存儲 1.浮點數的存 2. 浮點數的取 3. 題目解析 一個變量的創建需要在內存中開辟空間,而開辟的空間大小是由數據類型決定的。下面我們就來討論一下整型、浮點型在內存中的…

Java 大視界 -- Java 大數據在智能教育虛擬實驗室建設與實驗數據分析中的應用(132)

💖親愛的朋友們,熱烈歡迎來到 青云交的博客!能與諸位在此相逢,我倍感榮幸。在這飛速更迭的時代,我們都渴望一方心靈凈土,而 我的博客 正是這樣溫暖的所在。這里為你呈上趣味與實用兼具的知識,也…

??Jolt -- 通過JSON配置來處理復雜數據轉換的工具

簡介:一個能夠通過JSON配置(特定的語法)來處理復雜數據轉換的工具。 比如將API響應轉換為內部系統所需的格式,或者處理來自不同來源的數據結構差異。例如,將嵌套的JSON結構扁平化,或者重命名字段&#xff0…