Python 如何利用pandas和matplotlib繪制餅圖
這段代碼使用了Pandas和Matplotlib庫(kù)來(lái)繪制店鋪銷售數(shù)量占比的餅圖。通過(guò)讀取Excel文件中的數(shù)據(jù),對(duì)店鋪名稱進(jìn)行聚合并按銷售數(shù)量降序排列,然后使用Matplotlib繪制餅圖展示銷售數(shù)量占比情況。
導(dǎo)入必要的庫(kù)
import pandas as pd import matplotlib.pyplot as plt
在這個(gè)步驟中,我們導(dǎo)入了兩個(gè)必要的庫(kù):pandas
用于數(shù)據(jù)處理,matplotlib.pyplot
用于繪圖。
設(shè)置中文字體
plt.rcParams['font.family'] = ['SimHei']
這段代碼指定中文字體為黑體,以支持中文字符集。
讀取數(shù)據(jù)
data = pd.read_excel('C:\\Users\Admin\\Desktop\\數(shù)據(jù)核對(duì)\\新建 XLSX 工作表.xlsx')
這段代碼從指定路徑的Excel文件中讀取數(shù)據(jù),并將數(shù)據(jù)存儲(chǔ)在data
變量中。
聚合數(shù)據(jù)
aggregated_data = data.groupby('店鋪名稱')['銷售數(shù)量'].sum()
這段代碼根據(jù)店鋪名稱對(duì)銷售數(shù)量進(jìn)行聚合,并將結(jié)果存儲(chǔ)在aggregated_data
變量中。
排序數(shù)據(jù)
aggregated_data = aggregated_data.sort_values(ascending=False)
這段代碼對(duì)聚合后的數(shù)據(jù)按銷售數(shù)量進(jìn)行降序排序。
繪制餅圖
plt.pie(aggregated_data, labels=aggregated_data.index, autopct='%.2f%%', startangle=90, wedgeprops={'linewidth': 1, 'edgecolor': 'white'}, pctdistance=0.85)
這段代碼使用plt.pie
函數(shù)繪制餅圖。傳入的參數(shù)包括聚合后的銷售數(shù)量數(shù)據(jù)和店鋪名稱,以及一些設(shè)置如起始角度、扇形邊框樣式和百分比標(biāo)簽等。
設(shè)置圖表標(biāo)題和圖例
plt.title('店鋪銷售數(shù)量占比') plt.legend(loc='best')
這段代碼使用plt.title
函數(shù)設(shè)置圖表標(biāo)題,并使用plt.legend
函數(shù)添加圖例。
隱藏餅圖中間的白色圓圈
plt.gca().set_aspect('equal') plt.tight_layout()
這段代碼使用plt.gca().set_aspect('equal')
將餅圖設(shè)置為正圓形,并使用plt.tight_layout
自動(dòng)調(diào)整圖表布局。
顯示圖表
plt.show()
這段代碼顯示繪制好的圖表。
完整代碼如下:
import pandas as pd import matplotlib.pyplot as plt plt.rcParams['font.family'] = ['SimHei'] # 指定中文字體為黑體 # 從Excel文件中讀取數(shù)據(jù) data = pd.read_excel('C:\\Users\Admin\\Desktop\\數(shù)據(jù)核對(duì)\\新建 XLSX 工作表.xlsx') # 根據(jù)店鋪名稱聚合銷售數(shù)量 aggregated_data = data.groupby('店鋪名稱')['銷售數(shù)量'].sum() # 按銷售數(shù)量降序排列 aggregated_data = aggregated_data.sort_values(ascending=False) # 繪制餅圖 plt.pie(aggregated_data, labels=aggregated_data.index, autopct='%.2f%%', startangle=90, wedgeprops={'linewidth': 1, 'edgecolor': 'white'},pctdistance=0.85) # 設(shè)置起始角度和扇形邊框樣式 # 設(shè)置圖表標(biāo)題和圖例 plt.title('店鋪銷售數(shù)量占比') plt.legend(loc='best') # 隱藏餅圖中間的白色圓圈 plt.gca().set_aspect('equal') # 使餅圖為正圓形 plt.tight_layout() # 自動(dòng)調(diào)整圖表布局 # 顯示圖表 plt.show()
到此這篇關(guān)于Python 利用pandas和matplotlib繪制餅圖的文章就介紹到這了,更多相關(guān)Python pandas和matplotlib繪制餅圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python實(shí)現(xiàn)簡(jiǎn)單的超市商品銷售管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)超市商品銷售管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Python Print實(shí)現(xiàn)在輸出中插入變量的例子
今天小編就為大家分享一篇Python Print實(shí)現(xiàn)在輸出中插入變量的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-12-12Python SSL證書驗(yàn)證問(wèn)題解決方案
這篇文章主要介紹了Python SSL證書驗(yàn)證問(wèn)題解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01Python異步處理返回進(jìn)度——使用Flask實(shí)現(xiàn)進(jìn)度條
這篇文章主要介紹了Python異步處理返回進(jìn)度——使用Flask實(shí)現(xiàn)進(jìn)度條,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05Python處理文件的方法(mimetypes和chardet)
這篇文章主要介紹了Python處理文件的方法(mimetypes和chardet),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-09-09教你怎么用Python處理excel實(shí)現(xiàn)自動(dòng)化辦公
這篇文章主要介紹了教你怎么用Python處理excel實(shí)現(xiàn)自動(dòng)化辦公,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04Python實(shí)現(xiàn)排序算法、查找算法和圖遍歷算法實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)排序算法、查找算法和圖遍歷算法實(shí)例,排序算法、查找算法和圖遍歷算法是計(jì)算機(jī)科學(xué)中常見(jiàn)且重要的算法。它們?cè)跀?shù)據(jù)處理、搜索和圖結(jié)構(gòu)等領(lǐng)域發(fā)揮著關(guān)鍵作用,需要的朋友可以參考下2023-08-08