欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python利用matplotlib實現(xiàn)餅圖繪制

 更新時間:2021年12月01日 15:23:06   作者:編程簡單學(xué)  
Pyplot作為Matplotlib的子庫,提供了和MATLAB差不多的繪圖API。因此Pyplot作為常用的繪圖模塊,能很方便讓用戶繪制2D圖表。本文將為大家介紹如何利用Matplotlib繪制餅圖,感興趣的小伙伴可以了解一下

前言

眾所周知,matplotlib.pyplot 提供繪制不同表格繪制方法,如使用plot()方法繪制折線,bar()繪制柱

在matplotlib.pyplot 中還有一種圖表用于直觀表示占比情況的餅圖,在matplotlib官網(wǎng)上也列舉出非常多關(guān)于餅圖的案例。

本期,我們將詳細(xì)學(xué)習(xí)matplotlib 繪制餅圖相關(guān)屬性的學(xué)習(xí),let's go~

1. 等高線圖概述

什么是餅圖?

  • 餅圖將各項的大小與總項和的比例顯示在一個圓里
  • 餅圖展示通過不同大小,來確定各項的占比
  • 餅圖相同顏色的數(shù)據(jù)標(biāo)記組成一個數(shù)據(jù)系列
  • 餅圖可分為三維餅圖、復(fù)合餅圖、分離餅圖

餅圖常用場景

  • 餅圖可用在需要暫時各個部分構(gòu)成比
  • 餅圖可反映一個維度各項指標(biāo)占總體的占比情況
  • 餅圖適用在只看大體占比,不要數(shù)據(jù)精度的情況

繪制等餅圖步驟

  1. 導(dǎo)入matplotlib.pyplot模塊
  2. 準(zhǔn)備數(shù)據(jù),可以使用numpy/pandas整理數(shù)據(jù)
  3. 調(diào)用pyplot.pie()繪制餅圖
  4. 調(diào)用axis方法調(diào)整x/y軸間距相等

案例展示

本期,我們將適用餅圖來分析操作系統(tǒng)市場占比情況

案例數(shù)據(jù)準(zhǔn)備:使用random.randint產(chǎn)生5個數(shù)值

import numpy as np
size = np.random.randint(0,100,5)

繪制餅圖

import matplotlib.pyplot as plt\
 
plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"])
 
plt.title("手機系統(tǒng)占比分析")
 
plt.show()

2. 餅圖屬性

設(shè)置餅圖的顏色

關(guān)鍵字:colors

可取值選項:None或者顏色列表

顏色列表可以由如下組成:

  • 表示顏色的英文單詞:如紅色"red"
  • 表示顏色單詞的簡稱如:紅色"r",黃色"y"
  • RGB格式:十六進(jìn)制格式如"#88c999";(r,g,b)元組形式

設(shè)置標(biāo)簽

關(guān)鍵字:labels

默認(rèn)為:None

需要傳入列表形式的值

設(shè)置突出部分

關(guān)鍵字:explode

默認(rèn)為:None

需要傳入列表數(shù)據(jù)

如果設(shè)置值后,其指定的部分會突出顯示

設(shè)置填入百分比數(shù)值

關(guān)鍵字:autopct

默認(rèn)為:None

可選擇值形式:

  • 格式字符串如:'%1.1f%%'
  • 函數(shù):可以調(diào)用函數(shù)內(nèi)容

餅圖旋轉(zhuǎn)

從x軸逆時針旋轉(zhuǎn)角度:startangle;默認(rèn)為0,浮點類型

指定分?jǐn)?shù)方向順逆時針:counterclock;默認(rèn)為True,bool類型

設(shè)置陰影

關(guān)鍵字:shadow

默認(rèn)為False

在餅圖下繪制出陰影

我們結(jié)合第一節(jié)的案例添加一些屬性,需要顯示占比數(shù)值,顏色顯示指定顏色,突出MAC占比

plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],
autopct="%1.1f%%",
explode=[0,0.1,0,0,0],
colors=("r","blue","#88c999",(1,1,0),"0.5"))

3. 調(diào)整餅圖的大小

我們在實際制作餅圖時,會遇到改變餅圖的大小,這是我們可以借助餅圖屬性關(guān)鍵字radius

radius:設(shè)置餅圖半徑大小

除此之外,我們還要使用textprops來控制顯示的標(biāo)簽的大小

plt.pie(size,labels=["Windows","MAC","Linux","Android","Other"],autopct="%1.1f%%",
explode=[0,0.1,0,0,0],
colors=("r","blue","#88c999",(1,1,0),"0.5"),radius=0.5,textprops={'size':"smaller"})

4. 添加圖例

我們在餅圖中顯示各項占比情況時,會在圖表的旁邊添加一組圖例說明。

  • pyplot.pie()方法會返回patchee.Wedge列表、文本列表等數(shù)據(jù)
  • pyplot.legend()方法傳入wedge元素和指定的labels標(biāo)簽
  • 同時可以同legend()方法bbox_to_anchor來設(shè)置圖例的位置
La = ["Windows","MAC","Linux","Android","Other"]
 
def f(pct,n):
    num = int(round(pct*np.sum(n)))
    return "{:.1f}%\n{:d}w".format(pct,num)
 
wedges ,text,autotexts =plt.pie(size,autopct=lambda pct: f(pct,size),
        colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'))
 
plt.legend(wedges,La,loc="right",bbox_to_anchor=(1,0,0.3,1))

5. 鏤空餅圖

在餅圖中,我們有時候也用到嵌套鏤空的餅圖。

  • 嵌套可以多次調(diào)用pyplot.pie()方法
  • 鏤空可以借助pyplot.pie()屬性wedgeprops來進(jìn)行設(shè)置
  • wedgeprops={"width":0.3,"edgecolor":'w'}
cmap = plt.get_cmap("tab20c")
plt.pie(size,
         colors=("r","blue","#88c999",(1,1,0),"0.5"),textprops=dict(color='w'),wedgeprops=dict(width=0.3,edgecolor='w'))
plt.pie(size,
         colors= cmap(np.arange(3)*5),radius=0.7,wedgeprops=dict(width=0.3,edgecolor='w'),textprops={'size':"smaller"})

總結(jié)

本期,對matplotlib.pyplot 繪制餅圖pie()相關(guān)屬性的學(xué)習(xí)。在繪制餅圖時,我們會根據(jù)實際需求改變餅圖的大小,嵌套餅圖、添加柱狀圖等圖形輔助查看

以上是本期內(nèi)容,歡迎大佬們點贊評論,下期見~?

以上就是Python利用matplotlib實現(xiàn)餅圖繪制的詳細(xì)內(nèi)容,更多關(guān)于Python matplotlib 繪制餅圖的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Django項目定期自動清除過期session的2種方法實例

    Django項目定期自動清除過期session的2種方法實例

    如果用戶主動退出,session會自動清除,如果沒有退出就一直保留,記錄數(shù)越來越大,要定時清理沒用的session,下面這篇文章主要給大家介紹了關(guān)于Django項目定期自動清除過期session的2種方法,需要的朋友可以參考下
    2022-08-08
  • Python中的模式匹配庫Pampy使用實例解析

    Python中的模式匹配庫Pampy使用實例解析

    這篇文章主要為大家介紹了Python中的模式匹配庫Pampy使用實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Flask和Django框架中自定義模型類的表名、父類相關(guān)問題分析

    Flask和Django框架中自定義模型類的表名、父類相關(guān)問題分析

    這篇文章主要介紹了Flask和Django框架中自定義模型類的表名、父類相關(guān)問題,結(jié)合實例形式對比分析了Flask框架與Django框架表名定義方式的不同之處,并簡單描述了框架的父類繼承問題,需要的朋友可以參考下
    2018-07-07
  • python實現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    python實現(xiàn)圖片轉(zhuǎn)字符畫的完整代碼

    這篇文章主要給大家介紹了關(guān)于python實現(xiàn)圖片轉(zhuǎn)字符畫的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python高級搜索實現(xiàn)高效搜索GitHub資源

    python高級搜索實現(xiàn)高效搜索GitHub資源

    這篇文章主要為大家介紹了python高級搜索來高效搜索GitHub,從而高效獲取所需資源,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • Python實現(xiàn)簡單的學(xué)生信息管理系統(tǒng)

    Python實現(xiàn)簡單的學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了Python實現(xiàn)簡單的學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • CentOS 6.5中安裝Python 3.6.2的方法步驟

    CentOS 6.5中安裝Python 3.6.2的方法步驟

    centos 6.5默認(rèn)自帶的python版本為2.6,而下面這篇文章主要給大家介紹了關(guān)于在CentOS 6.5中安裝Python 3.6.2的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-12-12
  • python如何利用paramiko執(zhí)行服務(wù)器命令

    python如何利用paramiko執(zhí)行服務(wù)器命令

    這篇文章主要介紹了python如何利用paramiko執(zhí)行服務(wù)器命令,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • python數(shù)據(jù)分析之如何刪除value=0的行

    python數(shù)據(jù)分析之如何刪除value=0的行

    這篇文章主要給大家介紹了關(guān)于python數(shù)據(jù)分析之如何刪除value=0的行的相關(guān)資料,文中通過實例代碼以及圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2022-12-12
  • 用Python創(chuàng)建聲明性迷你語言的教程

    用Python創(chuàng)建聲明性迷你語言的教程

    這篇文章主要介紹了用Python創(chuàng)建聲明性迷你語言的教程,本文來自于IBM官方網(wǎng)站技術(shù)文檔,需要的朋友可以參考下
    2015-04-04

最新評論