python辦公自動化--數據可視化(pandas+matplotlib)--生成條形圖和餅狀圖

前言

前幾天我們學習了pandas讀取數據,還學習了如何用patplotlib繪制柱狀圖和折線圖。
今天我們繼續學習,如何繪制條形圖和餅狀圖。

一、課程回顧-pandas讀取數據

1.示例數據文件

在這里插入圖片描述

這里我們用到的依舊是d盤底下的這個excel工作簿,這個工作簿里面有四個工作表,如下:
在這里插入圖片描述
我們今天用到的是第三個表和第四個表里面的數據,數據如下:
數據表:各個產品銷量
在這里插入圖片描述
數據表:各大區總利潤
在這里插入圖片描述

2.pandas讀取數據

import pandas as pdfile_name=r"D:\數據可視化示例Excel文件.xlsx"

首先我們導入pandas庫,同時將我們的示例文件的路徑用file_name來表示

nums_products=pd.read_excel(file_name,sheet_name="各個產品銷量")
print("讀取各個產品銷量")
print(nums_products)

接下來我們讀取“各月銷售額”這個表格的數據
在這里插入圖片描述

profit_continent=pd.read_excel(file_name,sheet_name="各大區總利潤")
print("讀取各大區總利潤")
print(profit_continent)

接下來我們讀取“各大區總利潤”這個表格的數據

在這里插入圖片描述

可以看到,我們通過pandas庫成功地讀取到了數據可視化示例Excel文件.xlsx這個工作簿里面,名為“各個產品銷量”的工作表的數據。

二、matplotlib繪制條形圖和餅狀圖

1.繪制折線圖

plt.barh(nums_products.產品,height=0.5,width=nums_products.銷量,align="center",label="銷量")plt.title("各種產品銷量條形圖",loc="center")for a,b in zip(nums_products.產品,nums_products.銷量):plt.text(b,a,b,ha="center",va="center",fontsize=15,color="red")plt.ylabel("產品名稱")
plt.xlabel("二月份銷量")plt.grid(False)plt.legend()plt.show()

這里我還是簡單說一下各行代碼的含義,因為上一篇文章講的很詳細,所以就不多說
點擊這里跳轉到上一篇文章
第一行表示這是條形圖,并設置圖形的各個參數
第二行設置標題
第三四行設置數據標簽
第五六行設置橫縱坐標的意義
第七行表示不要網格線,可以刪掉,因為默認就是不要網格線
第八行表示增加圖例
第九行表示展示生成的條形圖

最后我們將代碼進行整合

import matplotlib.pyplot as plt
import pandas as pdfile_name=r"D:\數據可視化示例Excel文件.xlsx"nums_products=pd.read_excel(file_name,sheet_name="各個產品銷量")
print("讀取各個產品銷量")
print(nums_products)plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = Falseplt.barh(nums_products.產品,height=0.5,width=nums_products.銷量,align="center",label="銷量")plt.title("各種產品銷量條形圖",loc="center")for a,b in zip(nums_products.產品,nums_products.銷量):plt.text(b,a,b,ha="center",va="center",fontsize=15,color="red")plt.ylabel("產品名稱")
plt.xlabel("二月份銷量")plt.grid(False)plt.legend()plt.show()

運行代碼后我們可以得到條形圖如下:
在這里插入圖片描述

2.繪制餅狀圖

import matplotlib.pyplot as plt
import pandas as pdfile_name=r"D:\數據可視化示例Excel文件.xlsx"profit_continent=pd.read_excel(file_name,sheet_name="各大區總利潤")
print("讀取各大區總利潤")
print(profit_continent)plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = Falseplt.pie(profit_continent.利潤,labels=profit_continent.大區,autopct="%.0f%%",shadow=True,radius=1.0)
plt.title("各大洲利潤餅狀圖",loc="center",fontdict={"size":"15","color":"red","weight":"bold"})
plt.show()

運行后結果如下:
在這里插入圖片描述

當然,上述圖形并不好看,因為matplotlib在最開始的時候只是為了滿足工業作圖的要求,能做出來就行了,要什么自行車。
但是隨著互聯網的發展,這種圖已經滿足不了我們的需求了。
有興趣的同學可以自行去了解一下如何優化這些圖形。
當然,如果有興趣,后續我們可以講一講seaborn等第三庫,那才是真正精彩的世界。

總結

今天我們復習了前一天學習的pandas讀取excel表格的數據,同時學習了如何用matplotlib庫將讀取的數據生成條形圖和餅狀圖。
后面有時間我們再更新學習其它圖知識的文章。

有興趣的朋友可以點個關注和訂閱喲!!!!

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

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

相關文章

基于大模型的結節性甲狀腺腫診療全流程預測與方案研究報告

目錄 一、引言 1.1 研究背景與目的 1.2 研究意義 1.3 國內外研究現狀 二、大模型預測原理與方法 2.1 相關大模型概述 2.2 數據收集與預處理 2.3 模型訓練與驗證 三、術前預測與評估 3.1 結節性質預測 3.1.1 良惡性判斷 3.1.2 與傳統診斷方法對比 3.2 手術風險預測…

不同開發語言對字符串的操作

一、字符串的訪問 Objective-C: 使用 characterAtIndex: 方法訪問字符。 NSString *str "Hello, World!"; unichar character [str characterAtIndex:0]; // 訪問第一個字符 H NSLog("%C", character); // 輸出: H NSString 內部存儲的是 UTF-16 編…

Java開發者如何接入并使用DeepSeek

目錄 一、準備工作 二、添加DeepSeek SDK依賴 三、初始化DeepSeek客戶端 四、數據上傳與查詢 五、數據處理與分析 六、實際應用案例 七、總結 【博主推薦】:最近發現了一個超棒的人工智能學習網站,內容通俗易懂,風格風趣幽默&#xff…

S19文件格式詳解:汽車ECU軟件升級中的核心鏡像格式

文章目錄 引言一、S19文件格式的起源與概述二、S19文件的核心結構三、S19在汽車ECU升級中的應用場景四、S19與其他格式的對比五、S19文件實例解析六、工具鏈支持與安全考量七、未來趨勢與挑戰結語引言 在汽車電子控制單元(ECU)的軟件升級過程中,S19文件(也稱為Motorola S-…

CTF雜項——[suctf 2019]簽到題

base64轉圖片 可以直接用隨波逐流 得到flag SUCTF{ffffffffT4nk}

【Python】整數除法不正確,少1的問題,以及有關浮點數轉換的精度問題

1. 問題 今天在做leetcode 不同路徑 的時候發現了個問題 對于m53 n4class Solution:def uniquePaths(self, m: int, n: int) -> int:rlt 1for i in range(0, m-1):rlt * (m n - 2 - i)for i in range(0, m-1):rlt / (i 1)return int(rlt)為什么這個結果是 26234class S…

AI無代碼平臺

以下是目前支持快速開發產品的高生產力免費AI無代碼平臺推薦,按功能和適用場景分類: 一、全棧應用開發類 Bolt.DIY DeepSeek-R1 無需編寫代碼即可開發全棧應用,提供免費API和無速率限制,支持AI編碼助手與自動化流程 。 優勢&…

Gini系數的應用 - 指標波動貢獻分析

基尼系數的定義 基尼系數是衡量數據分布不均衡程度的指標,取值范圍在0到1之間: 0 表示完全均衡(所有值相等)。1 表示完全不均衡(所有值集中在一個點)。 基尼系數的計算公式 假設有 n n n 個數據點&…

第一節: 網絡基礎與參考模型

深入理解OSI七層模型與TCP/IP四層模型:網絡工程師的入門指南 在網絡通信的世界中,OSI七層模型和TCP/IP四層模型是理解網絡架構的基礎。無論是配置路由器、排查網絡故障,還是設計復雜的網絡系統,掌握這些模型的分層結構及其功能都是必不可少的。本文將從新手角度出發,深入…

HTTP拾技雜談

HTTP拾技雜談 簡單聊聊HTTP中的那些東西 文章目錄 HTTP拾技雜談前言HTTP協議1.請求從客戶端到服務器端的4個步驟一般客戶端請求如下:服務端響應如下 2.Keep-AliveHTTP方法Cookie 總結 前言 超文本傳輸協議(Hypertext Transfer Protocol ,HT…

用Deepseek寫一個五子棋微信小程序

在當今快節奏的生活中,休閑小游戲成為了許多人放松心情的好選擇。五子棋作為一款經典的策略游戲,不僅規則簡單,還能鍛煉思維。最近,我借助 DeepSeek 的幫助,開發了一款五子棋微信小程序。在這篇文章中,我將…

自然語言處理:最大期望值算法

介紹 大家好,博主又來給大家分享知識了,今天給大家分享的內容是自然語言處理中的最大期望值算法。那么什么是最大期望值算法呢? 最大期望值算法,英文簡稱為EM算法,它的核心思想非常巧妙。它把求解模型參數的過程分成…

【從零開始學習計算機科學】計算機體系結構(一)計算機體系結構、指令、指令集(ISA)與量化評估

【從零開始學習計算機科學】計算機體系結構(一)計算機體系結構、指令、指令集(ISA)與量化評估 概論計算機體系結構簡介計算機的分類并行體系結構指令集體系結構(ISA)分類存儲器尋址尋址模式操作數大小指令ISA的編碼程序的優化計算機體系結構量化評估存儲器體系結構概論 …

Electron使用WebAssembly實現CRC-32 常用標準校驗

Electron使用WebAssembly實現CRC-32 常用標準校驗 將C/C語言代碼,經由WebAssembly編譯為庫函數,可以在JS語言環境進行調用。這里介紹在Electron工具環境使用WebAssembly調用CRC-32 常用標準格式校驗的方式。 CRC-32 常用標準校驗函數WebAssembly源文件…

Docker基礎篇——Ubuntu下Docker安裝

大家好我是木木,在當今快速發展的云計算與云原生時代,容器化技術蓬勃興起,Docker 作為實現容器化的主流工具之一,為開發者和運維人員帶來了極大的便捷 。下面我們一起進行Docker安裝。 Docker的官方Ubuntu安裝文檔,如…

第五課:Express框架與RESTful API設計:技術實踐與探索

在使用Node.js進行企業應用開發,常用的開發框架Express,其中的中間件、路由配置與參數解析、RESTful API核心技術尤為重要,本文將深入探討它們在應用開發中的具體使用方法,最后通過Postman來對開發的接口進行測試。 一、Express中…

mitmproxy配合Wireshark 抓包分析

Mitmproxy 是一款非常強大的 交互式 HTTP 代理 工具,它被廣泛應用于 Web 開發、API 調試、安全測試 等領域。與 Wireshark 側重于被動監聽網絡流量不同,Mitmproxy 更像一個 主動的中間人,可以攔截、檢查、修改和重放 HTTP/HTTPS 流量&#xf…

Varlens(手機上的單反)Ver.1.9.3 高級版.apk

Varlens 是一款專業級手機攝影軟件,旨在通過豐富的功能和高自由度參數調節,讓手機拍攝效果媲美微單相機。以下是核心功能總結: 一、核心功能 專業拍攝模式 支持手動/自動/程序模式,可調節ISO、快門速度、EV、白平衡等參數27 提供…

Scala 中的訪問修飾符

在Scala中,面向對象的權限控制主要通過訪問修飾符來實現。Scala提供了以下幾種訪問修飾符來控制類、對象、成員變量和方法的訪問權限: 1. 默認訪問權限(無修飾符) 如果沒有指定任何訪問修飾符,成員默認是public的&…

第十五屆藍橋杯省賽電子類單片機學習過程記錄(客觀題)

客觀試題: 01.典型的BUCK電源電路包含哪些關鍵器件(ABCD) A. 電容 B. 二極管 C. 電感 D. MOSFET 解析: 典型的 BUCK 電源電路是一種降壓型的直流-直流轉換電路,它包含以下關鍵器件: A.電容:電容在電路中起到濾波的作用。輸入電容用于平滑輸入電壓的波動,減少電源噪聲對…