日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制

發布時間:2023/12/10 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSDN 課程推薦:《Python 數據分析與挖掘》,講師劉順祥,浙江工商大學統計學碩士,數據分析師,曾擔任唯品會大數據部擔任數據分析師一職,負責支付環節的數據分析業務。曾與聯想、亨氏、網魚網咖等企業合作多個企業級項目。


Matplotlib 系列文章:

  • Python 數據分析三劍客之 Matplotlib(一):初識 Matplotlib 與其 matplotibrc 配置文件
  • Python 數據分析三劍客之 Matplotlib(二):文本描述 / 中文支持 / 畫布 / 網格等基本圖像屬性
  • Python 數據分析三劍客之 Matplotlib(三):圖例 / LaTeX / 刻度 / 子圖 / 補丁等基本圖像屬性
  • Python 數據分析三劍客之 Matplotlib(四):線性圖的繪制
  • Python 數據分析三劍客之 Matplotlib(五):散點圖的繪制
  • Python 數據分析三劍客之 Matplotlib(六):直方圖 / 柱狀圖 / 條形圖的繪制
  • Python 數據分析三劍客之 Matplotlib(七):餅狀圖的繪制
  • Python 數據分析三劍客之 Matplotlib(八):等高線 / 等值線圖的繪制
  • Python 數據分析三劍客之 Matplotlib(九):極區圖 / 極坐標圖 / 雷達圖的繪制
  • Python 數據分析三劍客之 Matplotlib(十):3D 圖的繪制
  • Python 數據分析三劍客之 Matplotlib(十一):最熱門最常用的 50 個圖表【譯文】

另有 NumPy、Pandas 系列文章已更新完畢,歡迎關注:

  • NumPy 系列文章:https://itrhx.blog.csdn.net/category_9780393.html
  • Pandas 系列文章:https://itrhx.blog.csdn.net/category_9780397.html

推薦學習資料與網站(博主參與部分文檔翻譯):

  • NumPy 官方中文網:https://www.numpy.org.cn/
  • Pandas 官方中文網:https://www.pypandas.cn/
  • Matplotlib 官方中文網:https://www.matplotlib.org.cn/
  • NumPy、Matplotlib、Pandas 速查表:https://github.com/TRHX/Python-quick-reference-table

文章目錄

    • 【1x00】方法描述
    • 【2x00】簡單示例
    • 【3x00】按角度調整扇形標簽
    • 【4x00】顯示圖例
    • 【5x00】突出顯示扇形塊
    • 【6x00】顯示各扇區所占百分比
    • 【7x00】旋轉餅狀圖
    • 【8x00】自定義每個扇形和文字屬性


這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/106025845 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!

【1x00】方法描述

matplotlib.pyplot.pie() 方法用于繪制餅狀圖。

基本語法:

matplotlib.pyplot.pie(x[, explode=None, labels=None, colors=None,autopct=None, pctdistance=0.6, shadow=False,labeldistance=1.1, startangle=None, radius=None,counterclock=True, wedgeprops=None, textprops=None,center=(0, 0), frame=False, rotatelabels=False, \*, data=None]) 參數描述
x每個扇形塊的大小,數組形式,大小單位是比例
explode指定對應扇形塊脫離餅圖的半徑大小,數組形式,其中元素個數應該是 len(x)
labels每個扇形塊上的文本標簽,列表形式
labeldistance每個扇形塊上的文本標簽與扇形中心的距離,float 類型,默認 1.1
colors每個扇形塊對應的顏色,數組形式
autopct用于計算每個扇形塊所占比例,字符串或者函數類型
例如:autopct='%1.1f%%' 表示浮點數,保留一位小數,并添加百分比符號
pctdistance每個扇形塊的中心與 autopct 生成的文本之間的距離,float 類型,默認 0.6
shadow是否為扇形添加陰影效果
startangle將餅圖按照逆時針旋轉指定的角度,float 類型
radius餅圖的半徑,如果是 None,則將被設置為 1,float 類型
counterclock是否按照逆時針對扇形圖進行排列,bool 類型,默認 True
wedgeprops傳遞給繪制每個扇形圖對象的參數,字典形式,參數值參見 Wedge
例如:wedgeprops = {'linewidth': 3} 設置扇形邊框線寬度為 3
textprops傳遞給文本對象的參數,字典形式
例如:textprops={'color': 'r', 'fontsize': 15} 設置文字為紅色,大小為15
center餅圖圓心在畫布上是坐標,默認 (0, 0)
frame是否顯示 x, y 坐標軸外框,默認 False
rotatelabels是否按照角度進行調整每塊餅的 label 文本標簽,默認 False

【2x00】簡單示例

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']# 指定4個扇區所占比例以及扇區的顏色,扇區文本標簽距離扇區中心1.1 plt.pie(x, labels=labels, colors=colors, labeldistance=1.1) plt.title('餅狀圖簡單示例')plt.show()

【3x00】按角度調整扇形標簽

rotatelabels 屬性可以設置是否按照角度調整每塊餅的 label(標簽)顯示方式。

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Go', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']# 指定4個扇區所占比例以及扇區的顏色,扇區文本標簽距離扇區中心1.1,按角度調整 labels plt.pie(x, labels=labels, colors=colors, labeldistance=1.1, rotatelabels=True) plt.title('餅狀圖按角度調整 labels 示例')plt.show()

【4x00】顯示圖例

與前面文章中繪制線性圖、散點圖、條形圖一樣,調用 matplotlib.pyplot.legend() 方法可繪制圖例,該方法的參數解釋參見前文《Python 數據分析三劍客之 Matplotlib(三):圖例 / LaTeX / 刻度 / 子圖 / 補丁等基本圖像屬性》

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Go', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']plt.pie(x, labels=labels, colors=colors, labeldistance=1.1) plt.title('餅狀圖顯示圖例示例') plt.legend(bbox_to_anchor=(1, 1))plt.show()


這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/106025845 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!

【5x00】突出顯示扇形塊

explode 參數可以實現突出顯示某一塊扇區,接收數組形式的參數,這個數組中的元素個數應該是 len(x),即和扇區塊的數量相同。

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']# 指定第一個扇區塊脫離餅圖的半徑大小為0.3,其它扇區不脫離 plt.pie(x, labels=labels, colors=colors, labeldistance=1.1, explode=[0.3, 0, 0, 0]) plt.title('餅狀圖突出顯示扇形塊示例') plt.legend(bbox_to_anchor=(1, 1))plt.show()

【6x00】顯示各扇區所占百分比

autopct 參數可用于計算每個扇形塊所占比例,接收字符串或者函數類型,例如:autopct='%1.1f%%' 表示浮點數,保留一位小數,并添加百分比符號。pctdistance 參數用于調整每個扇形塊的中心與 autopct 生成的文本之間的距離,float 類型,默認 0.6。

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']plt.pie(x, # 每個扇形塊所占比例labels=labels, # 扇形塊文本標簽colors=colors, # 扇形塊顏色labeldistance=1.1, # 扇形塊標簽距離中心的距離explode=[0.3, 0, 0, 0], # 第一個扇形塊突出顯示autopct='%1.1f%%', # 顯示百分比,保留一位小數pctdistance=0.5 # 百分比文本距離餅狀圖中心的距離 ) plt.title('餅狀圖顯示各扇區所占百分比示例') plt.legend(bbox_to_anchor=(1, 1)) # 顯示圖例plt.show()

【7x00】旋轉餅狀圖

startangle 參數可以選擇餅狀圖,改變餅狀圖放置的角度。注意是按照逆時針旋轉。

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']plt.pie(x, # 每個扇形塊所占比例labels=labels, # 扇形塊文本標簽colors=colors, # 扇形塊顏色labeldistance=1.1, # 扇形塊標簽距離中心的距離explode=[0.3, 0, 0, 0], # 第一個扇形塊突出顯示autopct='%1.1f%%', # 顯示百分比,保留一位小數pctdistance=0.5, # 百分比文本距離餅狀圖中心的距離startangle=-90 # 逆時針旋轉-90°,即順時針旋轉90° ) plt.title('餅狀圖旋轉角度示例') plt.legend(bbox_to_anchor=(1, 1)) # 顯示圖例plt.show()

【8x00】自定義每個扇形和文字屬性

wedgeprops 參數以字典形式為每個扇形添加自定義屬性,例如:wedgeprops = {'linewidth': 3} 設置扇形邊框線寬度為 3,更多其他參數值參見 Wedge;

textprops 參數同樣以字典形式為文本對象添加自定義屬性,例如:textprops={'color': 'r', 'fontsize': 15} 設置文字為紅色,大小為15,更多其他參數值參見 Text。

import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Microsoft YaHei']x = [10, 30, 45, 15] labels = ['Java', 'Golang', 'Python', 'C++'] colors = ['red', 'yellow', 'blue', 'green']plt.pie(x, # 每個扇形塊所占比例labels=labels, # 扇形塊文本標簽colors=colors, # 扇形塊顏色labeldistance=1.1, # 扇形塊標簽距離中心的距離explode=[0.3, 0, 0, 0], # 第一個扇形塊突出顯示autopct='%1.1f%%', # 顯示百分比,保留一位小數pctdistance=0.6, # 百分比文本距離餅狀圖中心的距離shadow=True, # 顯示陰影效果wedgeprops={ # 為每個扇形添加屬性'width': 0.7, # 扇形寬度0.7'edgecolor': '#98F5FF', # 扇形邊緣線顏色'linewidth': 3 # 扇形邊緣線寬度},textprops={ # 為文字添加屬性'fontsize': 13, # 文字大小'fontweight': 'bold', # 文字粗細'color': 'k' # 文字顏色,黑色} ) plt.title('餅狀圖自定義每個扇形和文字屬性示例', fontweight='bold') plt.legend(bbox_to_anchor=(1, 1), borderpad=0.6) # 顯示圖例plt.show()


這里是一段防爬蟲文本,請讀者忽略。 本文原創首發于 CSDN,作者 TRHX。 博客首頁:https://itrhx.blog.csdn.net/ 本文鏈接:https://itrhx.blog.csdn.net/article/details/106025845 未經授權,禁止轉載!惡意轉載,后果自負!尊重原創,遠離剽竊!

總結

以上是生活随笔為你收集整理的Python 数据分析三剑客之 Matplotlib(七):饼状图的绘制的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。