首页
/
每日頭條
/
職場
/
python讀取excel數據并繪制圖表
python讀取excel數據并繪制圖表
更新时间:2025-11-03 11:42:20
安裝XlsxWriter模塊:

pip install XlsxWriter

python讀取excel數據并繪制圖表(一日一技:Python使用XlsxWriter模塊在Excel工作表中繪制柱形圖)1

pip install XlsxWriter顯示已經安裝好,所以不用重複安裝

代碼1:繪制簡單的柱形圖。

要在Excel工作表上繪制簡單的柱形圖,請使用add_chart()方法和工作簿對象的“ column”關鍵字參數類型。

上代碼:

# import xlsxwriter module import xlsxwriter # Workbook() takes one, non-optional, argument # which is the filename that we want to create. workbook = xlsxwriter.Workbook('chart_column.xlsx') # The workbook object is then used to add new # worksheet via the add_worksheet() method. worksheet = workbook.add_worksheet() # Create a new Format object to formats cells # in worksheets using add_format() method . # here we create bold format object . bold = workbook.add_format({'bold': 1}) # create a data list . headings = ['Number', 'Batch 1', 'Batch 2'] data = [ [2, 3, 4, 5, 6, 7], [80, 80, 100, 60, 50, 100], [60, 50, 60, 20, 10, 20], ] # Write a row of data starting from 'A1' # with bold format . worksheet.write_row('A1', headings, bold) # Write a column of data starting from # 'A2', 'B2', 'C2' respectively . worksheet.write_column('A2', data[0]) worksheet.write_column('B2', data[1]) worksheet.write_column('C2', data[2]) # Create a chart object that can be added # to a worksheet using add_chart() method. # here we create a column chart object . chart1 = workbook.add_chart({'type': 'column'}) # Add a data series to a chart # using add_series method. # Configure the first series. # = Sheet1 !$A$1 is equivalent to ['Sheet1', 0, 0]. # note : spaces is not inserted in b / w # = and Sheet1, Sheet1 and ! # if space is inserted it throws warning. chart1.add_series({ 'name': '= Sheet1 !$B$1', 'categories': '= Sheet1 !$A$2:$A$7', 'values': '= Sheet1 !$B$2:$B$7', }) # Configure a second series. # Note use of alternative syntax to define ranges. # [sheetname, first_row, first_col, last_row, last_col]. chart1.add_series({ 'name': ['Sheet1', 0, 2], 'categories': ['Sheet1', 1, 0, 6, 0], 'values': ['Sheet1', 1, 2, 6, 2], }) # Add a chart title chart1.set_title ({'name': 'Results of data analysis'}) # Add x-axis label chart1.set_x_axis({'name': 'Test number'}) # Add y-axis label chart1.set_y_axis({'name': 'Data length (mm)'}) # Set an Excel chart style. chart1.set_style(11) # add chart to the worksheet # the top-left corner of a chart # is anchored to cell E2 . worksheet.insert_chart('E2', chart1) # Finally, close the Excel file # via the close() method. workbook.close()


輸出為:

python讀取excel數據并繪制圖表(一日一技:Python使用XlsxWriter模塊在Excel工作表中繪制柱形圖)2


代碼2:繪制堆積柱形圖.

要在Excel工作表上繪制堆積柱形圖,請使用add_chart()方法,其類型為工作簿對象的“ column”和子類型“ stacked”關鍵字參數。

上代碼演示:

# import xlsxwriter module import xlsxwriter # Workbook() takes one, non-optional, argument # which is the filename that we want to create. workbook = xlsxwriter.Workbook('chart_column2.xlsx') # The workbook object is then used to add new # worksheet via the add_worksheet() method. worksheet = workbook.add_worksheet() # Create a new Format object to formats cells # in worksheets using add_format() method . # here we create bold format object . bold = workbook.add_format({'bold': 1}) # create a data list . headings = ['Number', 'Batch 1', 'Batch 2'] data = [ [2, 3, 4, 5, 6, 7], [80, 80, 100, 60, 50, 100], [60, 50, 60, 20, 10, 20], ] # Write a row of data starting from 'A1' # with bold format . worksheet.write_row('A1', headings, bold) # Write a column of data starting from # 'A2', 'B2', 'C2' respectively . worksheet.write_column('A2', data[0]) worksheet.write_column('B2', data[1]) worksheet.write_column('C2', data[2]) # Create a chart object that can be added # to a worksheet using add_chart() method. # here we create a stacked Column chart object . chart1 = workbook.add_chart({'type': 'column', 'subtype': 'stacked'}) # Add a data series to a chart # using add_series method. # Configure the first series. # = Sheet1 !$A$1 is equivalent to ['Sheet1', 0, 0]. chart1.add_series({ 'name': '= Sheet1 !$B$1', 'categories': '= Sheet1 !$A$2:$A$7', 'values': '= Sheet1 !$B$2:$B$7', }) # Configure a second series. # Note use of alternative syntax to define ranges. # [sheetname, first_row, first_col, last_row, last_col]. chart1.add_series({ 'name': ['Sheet1', 0, 2], 'categories': ['Sheet1', 1, 0, 6, 0], 'values': ['Sheet1', 1, 2, 6, 2], }) # Add a chart title chart1.set_title ({'name': 'Results of data analysis'}) # Add x-axis label chart1.set_x_axis({'name': 'Test number'}) # Add y-axis label chart1.set_y_axis({'name': 'Data length (mm)'}) # Set an Excel chart style. chart1.set_style(11) # add chart to the worksheet # the top-left corner of a chart # is anchored to cell E2 . worksheet.insert_chart('E2', chart1) # Finally, close the Excel file # via the close() method. workbook.close()

輸出結果:

python讀取excel數據并繪制圖表(一日一技:Python使用XlsxWriter模塊在Excel工作表中繪制柱形圖)3

代碼3:繪制堆積柱形圖百分比.

若要在Excel工作表上繪制“堆積百分比”圖表,請使用add_chart()方法,其類型為工作簿對象的“列”類型和子類型“ percent_stacked”關鍵字參數。

# import xlsxwriter module import xlsxwriter # Workbook() takes one, non-optional, argument # which is the filename that we want to create. workbook = xlsxwriter.Workbook('chart_column3.xlsx') # The workbook object is then used to add new # worksheet via the add_worksheet() method. worksheet = workbook.add_worksheet() # Create a new Format object to formats cells # in worksheets using add_format() method . # here we create bold format object . bold = workbook.add_format({'bold': 1}) # create a data list . headings = ['Number', 'Batch 1', 'Batch 2'] data = [ [2, 3, 4, 5, 6, 7], [80, 80, 100, 60, 50, 100], [60, 50, 60, 20, 10, 20], ] # Write a row of data starting from 'A1' # with bold format . worksheet.write_row('A1', headings, bold) # Write a column of data starting from # 'A2', 'B2', 'C2' respectively . worksheet.write_column('A2', data[0]) worksheet.write_column('B2', data[1]) worksheet.write_column('C2', data[2]) # Create a chart object that can be added # to a worksheet using add_chart() method. # here we create a percent stacked Column chart object . chart1 = workbook.add_chart({'type': 'column', 'subtype': 'percent_stacked'}) # Add a data series to a chart # using add_series method. # Configure the first series. # = Sheet1 !$A$1 is equivalent to ['Sheet1', 0, 0]. chart1.add_series({ 'name': '= Sheet1 !$B$1', 'categories': '= Sheet1 !$A$2:$A$7', 'values': '= Sheet1 !$B$2:$B$7', }) # Configure a second series. # Note use of alternative syntax to define ranges. # [sheetname, first_row, first_col, last_row, last_col]. chart1.add_series({ 'name': ['Sheet1', 0, 2], 'categories': ['Sheet1', 1, 0, 6, 0], 'values': ['Sheet1', 1, 2, 6, 2], }) # Add a chart title chart1.set_title ({'name': 'Results of data analysis'}) # Add x-axis label chart1.set_x_axis({'name': 'Test number'}) # Add y-axis label chart1.set_y_axis({'name': 'Data length (mm)'}) # Set an Excel chart style. chart1.set_style(11) # add chart to the worksheet # the top-left corner of a chart # is anchored to cell E2 . worksheet.insert_chart('E2', chart1) # Finally, close the Excel file # via the close() method. workbook.close()

輸出結果為:

python讀取excel數據并繪制圖表(一日一技:Python使用XlsxWriter模塊在Excel工作表中繪制柱形圖)4

祝學習愉快!

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
雲頂之弈新賽季陣容簡單易懂(雲頂之弈新賽季入門秘籍)
雲頂之弈新賽季陣容簡單易懂(雲頂之弈新賽季入門秘籍)
  哈喽,大家好!我是雲頂有料官,昨天給大家帶來了一期雲頂之弈新賽季的元素羁絆全解析,相信看過的小夥伴已經對新賽季的元素羁絆有一個更深的認識。那麼,今天有料官給大家準備了新賽季職業羁絆全解析,希望能幫助大家更快上手。(篇幅較長,請耐心看完,據說看完的小夥伴已經連勝吃雞了,你也要加油嗷),話不多說,開始上課!!   職業羁絆雲頂之弈新賽季将之前的所有羁絆删除,...
2025-11-03
徐州教育先進工作者(獎勵高考優秀學生和優秀教育工作者)
徐州教育先進工作者(獎勵高考優秀學生和優秀教育工作者)
  大會現場碧海銀沙網訊(圖文/李梅英編輯/榮 蓉 蔚 青) 8月12日上午,徐聞縣在該縣會議中心舉行第六屆高考優秀學生暨先進教育工作者頒獎大會,給今年考上國内和世界名校的27名徐聞籍優秀學生和徐聞縣20名優秀教師、20名優秀校長進行頒獎。徐聞縣委書記、人大主任梁權财,縣長吳康秀,政協主席蔣柯煌等四套班子領導、縣獎學協會理事會成員、各鄉鎮(街道辦)書記和鎮長...
2025-11-03
最經典的六位張無忌扮演者(演反派大紅大火)
最經典的六位張無忌扮演者(演反派大紅大火)
  說到演反派走紅的,大家能想到誰?小編印象最深的就是《還珠格格》裡的容嬷嬷,今天我們要說的卻是男星,比如《古惑仔》中烏鴉的扮演者張耀揚,再比如《精武英雄》中“藤田剛”扮演者,他也是受到洪金寶提攜!他們成為了影片的重要的組成部分!      當時在80年代中有這樣一部劇,電視劇《流氓大亨》是TVB于1986年出品的時裝電視劇,由邱家雄監制,由萬梓良、鄭裕玲、...
2025-11-03
顧誦芬殲20(殲
顧誦芬殲20(殲
  瞞着家人三上藍天 89歲患癌仍工作……面對面專訪“殲-8之父”顧誦芬   89歲的顧誦芬是我國高空高速殲擊機的主要技術負責人之一,他先後參與主持了殲教-1、初教-6、殲-8和殲-8Ⅱ等機型的設計研發,并擔任殲-8和殲-8Ⅱ的總設計師,被稱為“殲-8之父”。今年7月5日,是我國自主研制的第一架高空高速殲擊機殲-8首飛50周年的日子。      幼時目睹日軍...
2025-11-03
産品經理數據分析的工具(産品經理必備的數據分析入門三技能)
産品經理數據分析的工具(産品經理必備的數據分析入門三技能)
  編輯導語:作為一個産品經理,除了每天都會處理的各種産品需求以外,在進行業務處理的時候,數據分析也是産品經理需要掌握的技能;産品經理學會一些數據分析的技能後,對于之後的産品以及業務就能更加得心應手;本文作者分享了關于産品經理必備的數據分析入門三技能,我們一起來了解一下。      脫離了業務的數據分析都是耍流氓,所以在寫這篇數據分析技能類文章之前,我先假定...
2025-11-03
Copyright 2023-2025 - www.tftnews.com All Rights Reserved