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

使用Python實現自動創(chuàng)建Excel折線圖

 更新時間:2026年05月12日 08:13:03   作者:用戶835629078051  
在數據分析,財務報告和市場研究中,折線圖能夠清晰地呈現數據的波動模式和增長趨勢,本文小編就和大家介紹一下如何使用 Python 在 Excel 工作簿中創(chuàng)建折線圖并對其進行各種自定義設置吧

折線圖是數據可視化中最常用的圖表類型之一,特別適合展示數據隨時間變化的趨勢。在數據分析、財務報告和市場研究中,折線圖能夠清晰地呈現數據的波動模式和增長趨勢。本文介紹如何使用 Python 在 Excel 工作簿中創(chuàng)建折線圖,并對其進行各種自定義設置。

環(huán)境準備

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

pip install Spire.XLS

該庫提供了完整的 Excel 文件操作 API,支持創(chuàng)建、讀取和修改 Excel 文檔,包括圖表生成功能。

創(chuàng)建基礎折線圖

創(chuàng)建折線圖的基本流程包括:準備數據、添加圖表對象、設置數據范圍和配置圖表屬性。

from spire.xls import *
from spire.xls.common import *

# 創(chuàng)建工作簿和工作表
workbook = Workbook()
sheet = workbook.Worksheets[0]
sheet.Name = "Line Chart"

# 準備示例數據
sheet.Range["A1"].Value = "Country"
sheet.Range["A2"].Value = "Cuba"
sheet.Range["A3"].Value = "Mexico"
sheet.Range["A4"].Value = "France"
sheet.Range["A5"].Value = "German"

sheet.Range["B1"].Value = "Jun"
sheet.Range["B2"].NumberValue = 3300
sheet.Range["B3"].NumberValue = 2300
sheet.Range["B4"].NumberValue = 4500
sheet.Range["B5"].NumberValue = 6700

sheet.Range["C1"].Value = "Jul"
sheet.Range["C2"].NumberValue = 7500
sheet.Range["C3"].NumberValue = 2900
sheet.Range["C4"].NumberValue = 2300
sheet.Range["C5"].NumberValue = 4200

sheet.Range["D1"].Value = "Aug"
sheet.Range["D2"].NumberValue = 7400
sheet.Range["D3"].NumberValue = 6900
sheet.Range["D4"].NumberValue = 7800
sheet.Range["D5"].NumberValue = 4200

sheet.Range["E1"].Value = "Sep"
sheet.Range["E2"].NumberValue = 8000
sheet.Range["E3"].NumberValue = 7200
sheet.Range["E4"].NumberValue = 8500
sheet.Range["E5"].NumberValue = 5600

# 設置標題行樣式
sheet.Range["A1:E1"].Style.Color = Color.get_DarkGray()
sheet.Range["A1:E1"].Style.Font.Color = Color.get_White()
sheet.Range["A1:E1"].Style.HorizontalAlignment = HorizontalAlignType.Center

# 添加折線圖
chart = sheet.Charts.Add()
chart.ChartType = ExcelChartType.Line

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

# 設置圖表位置
chart.LeftColumn = 1
chart.TopRow = 6
chart.RightColumn = 11
chart.BottomRow = 29

# 設置圖表標題
chart.ChartTitle = "Sales market by country"
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 配置坐標軸
chart.PrimaryCategoryAxis.Title = "Month"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryValueAxis.Title = "Sales(in Dollars)"
chart.PrimaryValueAxis.HasMajorGridLines = False

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

# 保存文件
workbook.SaveToFile("Line.xlsx", ExcelVersion.Version2010)
workbook.Dispose()

結果文檔預覽:

上述代碼首先在工作表中填充了四個國家六個月的銷售數據,然后通過 Charts.Add() 方法創(chuàng)建圖表對象。ChartType 屬性設置為 ExcelChartType.Line 指定生成折線圖。數據范圍通過 DataRange 屬性綁定到單元格區(qū)域 A1:E5。

添加數據標記

在某些場景下,需要在折線圖的每個數據點上添加標記,以便更清晰地標識具體數值位置??梢酝ㄟ^設置 MarkerStyle 屬性實現這一效果。

# ...

# 將折線圖更改為帶標記的折線圖
chart.ChartType = ExcelChartType.LineMarkers

# ...

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

# 為每個數據系列添加圓形標記
for cs1 in chart.Series:
    cs = ChartSerie(cs1)
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True
    cs.DataFormat.MarkerStyle = ChartMarkerType.Circle

chart.Legend.Position = LegendPositionType.Top
workbook.SaveToFile("Line_Circle.xlsx", ExcelVersion.Version2010)
workbook.Dispose()

結果文檔預覽:

通過將 MarkerStyle 設置為 ChartMarkerType.Circle,每個數據點都會顯示為圓形標記。除了圓形,還可以選擇其他標記樣式,如方形、三角形或菱形等。

創(chuàng)建三維折線圖

對于需要更強視覺沖擊力的演示場景,可以使用三維折線圖。三維效果能夠增強圖表的立體感和層次感。

# ...

# 創(chuàng)建三維折線圖
chart.ChartType = ExcelChartType.Line3D

# ...

# 設置坐標軸標題旋轉角度
chart.PrimaryValueAxis.TitleArea.TextRotationAngle = 90
chart.PrimaryValueAxis.MinValue = 1000

for cs in chart.Series:
    cs.Format.Options.IsVaryColor = True
    cs.DataPoints.DefaultDataPoint.DataLabels.HasValue = True

chart.PlotArea.Fill.Visible = False
workbook.SaveToFile("Line_3D.xlsx", ExcelVersion.Version2010)
workbook.Dispose()

結果文檔預覽:

三維折線圖的創(chuàng)建方式與二維類似,只需將 ChartType 設置為 ExcelChartType.Line3D。此外,還可以通過調整 TextRotationAngle 屬性旋轉坐標軸標題的角度,使圖表布局更加合理。

自定義圖表樣式

折線圖的外觀可以通過多種方式進行定制,包括顏色、字體、網格線和圖例位置等。

# 自定義圖表樣式
chart.ChartTitleArea.IsBold = True
chart.ChartTitleArea.Size = 12

# 設置主分類軸
chart.PrimaryCategoryAxis.Title = "Month"
chart.PrimaryCategoryAxis.Font.IsBold = True
chart.PrimaryCategoryAxis.TitleArea.IsBold = True

# 設置主數值軸
chart.PrimaryValueAxis.Title = "Sales(in Dollars)"
chart.PrimaryValueAxis.HasMajorGridLines = False
chart.PrimaryValueAxis.TitleArea.IsBold = True
chart.PrimaryValueAxis.MinValue = 1000

# 隱藏繪圖區(qū)背景
chart.PlotArea.Fill.Visible = False

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

結果文檔預覽:

通過訪問 PrimaryCategoryAxisPrimaryValueAxis 對象,可以分別配置橫軸和縱軸的標題、字體和網格線。PlotArea.Fill.Visible 屬性控制繪圖區(qū)背景的可見性,設置為 False 可以使圖表更加簡潔。

實用技巧

在實際應用中,以下技巧能夠提升折線圖的實用性和可讀性:

  • 數據標簽顯示:通過 DataLabels.HasValue = True 在每個數據點旁顯示具體數值,便于讀者快速獲取信息
  • 多系列顏色區(qū)分:設置 IsVaryColor = True 為不同數據系列分配不同顏色,提高辨識度
  • 網格線控制:根據數據密度決定是否顯示網格線,避免圖表過于雜亂
  • 圖例位置調整:將圖例放置在頂部或底部,為數據區(qū)域留出更多空間

總結

本文介紹了使用 Python 在 Excel 中創(chuàng)建折線圖的完整流程,包括基礎折線圖、帶標記的折線圖和三維折線圖的實現方法。通過調整圖表類型、數據標記、坐標軸屬性和樣式設置,可以生成滿足各種需求的專業(yè)級數據可視化圖表。

折線圖適用于展示時間序列數據、趨勢分析和對比分析等場景。掌握這些技術后,可以將其應用于財務報表生成、銷售數據分析和市場趨勢研究等實際工作中。

以上就是使用Python實現自動創(chuàng)建Excel折線圖的詳細內容,更多關于Python創(chuàng)建Excel折線圖的資料請關注腳本之家其它相關文章!

相關文章

  • Python中l(wèi)ist列表的賦值方法及遇到問題處理

    Python中l(wèi)ist列表的賦值方法及遇到問題處理

    這篇文章主要介紹了Python中l(wèi)ist列表的賦值方法及遇到問題處理,記錄在列表list的賦值過程中遇到的問題,并對列表的拷貝相關知識進行匯總,需要的朋友可以參考一下
    2022-03-03
  • python 函數進階之閉包函數

    python 函數進階之閉包函數

    這篇文章主要介紹了python 函數進階之閉包函數,內函數使用了外函數的局部變量,并且外函數把內函數返回出來的過程叫做閉包,里面的內函數是閉包函數,下文相關介紹需要的小伙伴可以參考一下
    2022-04-04
  • python+Django+pycharm+mysql 搭建首個web項目詳解

    python+Django+pycharm+mysql 搭建首個web項目詳解

    這篇文章主要介紹了python+Django+pycharm+mysql 搭建首個web項目,結合實例形式詳細分析了python+Django+pycharm+mysql搭建web項目的具體步驟與相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • Django crontab定時任務模塊操作方法解析

    Django crontab定時任務模塊操作方法解析

    這篇文章主要介紹了Django crontab定時任務模塊操作方法解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • Django解決frame拒絕問題的方法

    Django解決frame拒絕問題的方法

    這篇文章主要介紹了Django解決frame拒絕問題的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • numpy matrix和array的乘和加實例

    numpy matrix和array的乘和加實例

    今天小編就為大家分享一篇numpy matrix和array的乘和加實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python Flask框架實現簡單加法工具過程解析

    Python Flask框架實現簡單加法工具過程解析

    這篇文章主要介紹了Python Flask框架實現簡單加法工具過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06
  • python pandas dataframe 按列或者按行合并的方法

    python pandas dataframe 按列或者按行合并的方法

    下面小編就為大家分享一篇python pandas dataframe 按列或者按行合并的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • Python列表切片操作實例總結

    Python列表切片操作實例總結

    這篇文章主要介紹了Python列表切片操作,結合實例形式總結分析了Python列表切片常見操作技巧與注意事項,需要的朋友可以參考下
    2019-02-02
  • Python實現SMTP郵件發(fā)送

    Python實現SMTP郵件發(fā)送

    這篇文章主要介紹了基于python實現SMTP發(fā)送郵件教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-06-06

最新評論

仙游县| 儋州市| 浦城县| 华坪县| 福海县| 迭部县| 广南县| 宜阳县| 合肥市| 建昌县| 体育| 仁寿县| 日照市| 洪洞县| 油尖旺区| 梓潼县| 辉南县| 化德县| 上林县| 霍州市| 商河县| 石家庄市| 宜城市| 民丰县| 东宁县| 平顶山市| 定远县| 定陶县| 柞水县| 平潭县| 石首市| 河池市| 九龙城区| 敖汉旗| 汝阳县| 阿坝县| 普洱| 西乌珠穆沁旗| 繁昌县| 武宁县| 万安县|