最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python利用Matplotlib庫(kù)實(shí)現(xiàn)繪制餅形圖

 更新時(shí)間:2022年04月12日 10:01:33   作者:侯小啾  
這篇文章主要為大家分享了基于python+matplotlib庫(kù)的餅形圖繪制,具體內(nèi)容涉及一般的餅圖、分裂餅圖、以及環(huán)形圖,感興趣的小伙伴可以了解一下

1.plt.pie()

餅圖 常常用來(lái)顯示 整體中各部分所占的比例,在python-matplotlib庫(kù)中通過(guò)plt.pie()方法來(lái)實(shí)現(xiàn)。

其主要參數(shù)如下:

x --------每一塊餅圖的比例組成的序列。可以是一個(gè)列表。如果其中元素的值加起來(lái)大于一,則會(huì)通過(guò)
歸一化處理后的結(jié)果。

explode -------- 指每一塊餅距離圓心的距離。默認(rèn)為0。如果大于0,則餅即會(huì)分裂出來(lái),即“分裂餅形圖”效果。

labels -------- 標(biāo)簽,即每一塊餅圖外側(cè)顯示的說(shuō)明文字

autopct -------- 設(shè)置餅圖百分比的格式。即字符串的格式,可以使用格式化字符串表達(dá)式或者format()函數(shù)的表達(dá)式。 不設(shè)定這個(gè)參數(shù)則不會(huì)顯示百分比的字符串。

pctdistance --------指百分比的位置刻度,默認(rèn)為0.6。

shadow --------布爾類(lèi)型,餅圖是否帶陰影(立體感)。默認(rèn)False不帶。

labeldistance --------標(biāo)記的繪制的位置,占半徑長(zhǎng)度的比例。默認(rèn)為1.1,如果大于1則顯示在餅的內(nèi)側(cè)。

startangle --------起始繪制角度,默認(rèn)從x軸正方向逆時(shí)針畫(huà)起。例如,設(shè)置為90則從y軸正方向畫(huà)起。

radius -------- 餅圖的半徑,默認(rèn)為1。

counterclock -------- 指針?lè)较?。布爾?lèi)型。默認(rèn)為T(mén)rue,表示逆時(shí)針。如果為False則表示順時(shí)針。

wedgeprops -------- wedge對(duì)象的屬性(wedge翻譯過(guò)來(lái)即三角木,楔子,即表示餅圖中的每一塊兒),可選參數(shù),字典類(lèi)型,默認(rèn)為None。這個(gè)字典將會(huì)傳遞給wedge對(duì)象。如wedgeprops={‘linewidth’:2}表示wedge的線條寬度為2。

textprops -------- text標(biāo)簽文本的屬性。也是一個(gè)字典類(lèi)型,可選。默認(rèn)為None。

center -------- 餅圖的原點(diǎn)。

frame -------- 是否顯示軸框架,布爾類(lèi)型,默認(rèn)不顯示,F(xiàn)alse。如果為T(mén)rue則會(huì)顯示軸框架??梢耘cgrid()配合使用。通常不使用該參數(shù),因?yàn)檩S框架會(huì)干擾圖像效果。

rotatelabels -------- 可選,旋轉(zhuǎn)標(biāo)簽到指定角度。(“指定”的含義是,以該位置連接圓心的半徑為水平基準(zhǔn)。) 

2. 餅圖基本

繪制一張簡(jiǎn)單的餅圖,圖像上的百分?jǐn)?shù)顯示出一位小數(shù)。標(biāo)簽為[‘A類(lèi)’, ‘B類(lèi)’, ‘C類(lèi)’, ‘D類(lèi)’]。

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] ='#cc00ff'
x = [10, 20, 35, 25]
plt.pie(x, autopct='%1.1f%%', labels=['A類(lèi)', 'B類(lèi)', 'C類(lèi)', 'D類(lèi)'])
plt.title("產(chǎn)品數(shù)量占比")
plt.show()

圖像效果呈現(xiàn)如下:

3. 餅狀圖進(jìn)階

設(shè)置背景顏色為’#00E5EE’,

百分?jǐn)?shù)顯示一位小數(shù),

四塊的顏色依次為[‘red’, ‘green’, ‘purple’, ‘yellow’]

B類(lèi) 在餅圖中 向外分裂0.2個(gè)單位  explode=[0, 0.2, 0, 0],

從y軸正方向開(kāi)始繪圖  startangle=90,

餅圖半徑設(shè)為1.1  radius=1.1,

標(biāo)簽文本字體的大小為20,顏色為 ‘#8B1A1A’    textprops={‘fontsize’: 20, ‘color’: ‘#8B1A1A’}

顯示陰影效果,

標(biāo)簽在半徑0.6單位處    pctdistance=0.6,

每個(gè)標(biāo)簽都選擇一定的角度   rotatelabels=True

代碼如下:

import matplotlib.pyplot as plt
fig = plt.figure(1, facecolor='#00E5EE', figsize=(10, 8))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
x = [10, 20, 35, 25]
plt.pie(x,
        labels=['A類(lèi)', 'B類(lèi)', 'C類(lèi)', 'D類(lèi)'],
        autopct='%1.1f%%',
        colors=['red', 'green', 'purple', 'yellow'],
        explode=[0, 0.2, 0, 0],
        startangle=90,
        radius=1.1,
        textprops={'fontsize': 20, 'color': '#8B1A1A'},
        shadow=True,
        pctdistance=0.6,
        rotatelabels=True
        )
# 設(shè)置標(biāo)題文本、y坐標(biāo)(即豎直方向上的位置),字體大小、顏色
plt.title("產(chǎn)品數(shù)量占比", y=1.05, fontsize=25, color='#cc00ff')
plt.show()

4. 環(huán)形圖

繪制環(huán)形圖仍然使用plt.pie()方法,

只需要設(shè)置其中的wedgeprops參數(shù)的屬性。

代碼示例如下

在上例代碼的基礎(chǔ)上,取消分裂,

添加 wedgeprops={‘width’: 0.4, ‘edgecolor’: ‘k’}。

然后把百分?jǐn)?shù)的位置pctdistance設(shè)置為0.8。

import matplotlib.pyplot as plt
fig = plt.figure(1, facecolor='#00E5EE', figsize=(10, 8))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
x = [10, 20, 35, 25]
plt.pie(x,
        labels=['A類(lèi)', 'B類(lèi)', 'C類(lèi)', 'D類(lèi)'],
        autopct='%1.1f%%',
        colors=['red', 'green', 'purple', 'yellow'],
        startangle=90,
        radius=1.1,
        textprops={'fontsize': 20, 'color': '#8B1A1A'},
        shadow=True,
        pctdistance=0.8,
        rotatelabels=True,
        wedgeprops={'width': 0.4, 'edgecolor': 'k'}
        )
plt.title("產(chǎn)品數(shù)量占比", y=1.05, fontsize=25, color='#cc00ff')
plt.show()

5. 內(nèi)嵌環(huán)形圖

內(nèi)嵌環(huán)形圖,以內(nèi)嵌一次為例。即兩個(gè)圓環(huán),需要調(diào)用兩次plt.pie()方法。

通過(guò)wedgeprops參數(shù)設(shè)置不同的環(huán)形邊界,通過(guò)radius設(shè)置不同的半徑。

全局字體為SimHei(黑體)。標(biāo)題部分的局部字體使用“華文琥珀”(將系統(tǒng)的字體文件STHUPO.TTF復(fù)制到當(dāng)前目錄下)。

import matplotlib.pyplot as plt
from matplotlib import font_manager

fig = plt.figure(1, facecolor='#ffffcc', figsize=(6, 6))
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.rcParams['axes.facecolor'] = '#cc00ff'
x1 = [10, 20, 35, 25]
x2 = [8, 32, 20, 40]
plt.pie(x1,
        autopct='%1.1f%%',
        colors=['red', 'green', 'blue', 'yellow'],
        startangle=90,
        radius=1,
        textprops={'fontsize': 16, 'color': 'purple'},
        pctdistance=0.85,
        rotatelabels=True,
        wedgeprops={'linewidth': 2, 'width': 0.3, 'edgecolor': 'k'}
        )
plt.pie(x2,
        autopct='%1.1f%%',
        colors=['red', 'green', 'blue', 'yellow'],
        startangle=90,
        radius=0.7,
        textprops={'fontsize': 16, 'color': 'purple'},
        pctdistance=0.6,
        rotatelabels=True,
        wedgeprops={'linewidth': 2, 'width': 0.4, 'edgecolor': 'k'}
        )
plt.title("產(chǎn)品數(shù)量占比", fontsize=25, color='purple', fontproperties=font_manager.FontProperties(fname='STHUPO.TTF'))
plt.legend(['A類(lèi)', 'B類(lèi)', 'C類(lèi)', 'D類(lèi)'], bbox_to_anchor=(0.9, 0.2))
plt.show()

程序執(zhí)行效果如下:

到此這篇關(guān)于Python利用Matplotlib庫(kù)實(shí)現(xiàn)繪制餅形圖的文章就介紹到這了,更多相關(guān)Python Matplotlib餅圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何用python批量發(fā)送工資條郵件

    如何用python批量發(fā)送工資條郵件

    大家好,本篇文章主要講的是如何用python批量發(fā)送工資條郵件,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • 使用python的chardet庫(kù)獲得文件編碼并修改編碼

    使用python的chardet庫(kù)獲得文件編碼并修改編碼

    windows和linux采用了不同的編碼,這讓很多人傷透了腦經(jīng),這里我采用了Python的chardet庫(kù)獲得代碼的編碼,然后修改編碼
    2014-01-01
  • python pygame實(shí)現(xiàn)2048游戲

    python pygame實(shí)現(xiàn)2048游戲

    這篇文章主要為大家詳細(xì)介紹了python pygame實(shí)現(xiàn)2048游戲,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • pandas 層次化索引的實(shí)現(xiàn)方法

    pandas 層次化索引的實(shí)現(xiàn)方法

    這篇文章主要介紹了pandas 層次化索引的實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 詳解用Python調(diào)用百度地圖正/逆地理編碼API

    詳解用Python調(diào)用百度地圖正/逆地理編碼API

    這篇文章主要介紹了詳解用Python調(diào)用百度地圖正/逆地理編碼API,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • python讀取json文件并將數(shù)據(jù)插入到mongodb的方法

    python讀取json文件并將數(shù)據(jù)插入到mongodb的方法

    這篇文章主要介紹了python讀取json文件并將數(shù)據(jù)插入到mongodb的方法,實(shí)例分析了Python操作json及mongodb數(shù)據(jù)庫(kù)的技巧,需要的朋友可以參考下
    2015-03-03
  • Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法

    Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法

    今天小編就為大家分享一篇Python 對(duì)輸入的數(shù)字進(jìn)行排序的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • Flask??使用Gunicorn部署服務(wù)介紹

    Flask??使用Gunicorn部署服務(wù)介紹

    這篇文章主要分享了?Flask??使用Gunicorn部署服務(wù)介紹,F(xiàn)lask?雖然自帶?Web?服務(wù)器,但是該服務(wù)器性能較低,是單進(jìn)程單線程模型,原本是供開(kāi)發(fā)測(cè)試使用。所以我們?cè)谏a(chǎn)環(huán)境中需要使用?Gunicorn?這樣高性能服務(wù)器部署Flask服務(wù),想了解更多內(nèi)容,請(qǐng)參考下面詳細(xì)內(nèi)容
    2021-11-11
  • 用python寫(xiě)一個(gè)定時(shí)提醒程序的實(shí)現(xiàn)代碼

    用python寫(xiě)一個(gè)定時(shí)提醒程序的實(shí)現(xiàn)代碼

    今天小編就為大家分享一篇用python寫(xiě)一個(gè)定時(shí)提醒程序的實(shí)現(xiàn)代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python opencv畫(huà)局部放大圖實(shí)例教程

    python opencv畫(huà)局部放大圖實(shí)例教程

    這篇文章主要給大家介紹了關(guān)于python opencv畫(huà)局部放大圖的相關(guān)資料,獲取鼠標(biāo)的單擊相應(yīng)以及鼠標(biāo)的移動(dòng)信息,進(jìn)行放大功能的實(shí)現(xiàn),需要的朋友可以參考下
    2021-10-10

最新評(píng)論

鄂尔多斯市| 木里| 柳州市| 安丘市| 个旧市| 沅江市| 彭山县| 阳山县| 黄石市| 上高县| 田阳县| 扶沟县| 吉安县| 砀山县| 磴口县| 三门峡市| 宜都市| 呼和浩特市| 陆河县| 巴塘县| 峨眉山市| 东乡县| 西城区| 锦州市| 固原市| 古丈县| 收藏| 聂拉木县| 沾化县| 东宁县| 岑溪市| 池州市| 德阳市| 连云港市| 金坛市| 九龙坡区| 滨海县| 汉寿县| 清水河县| 确山县| 湘阴县|