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

Python利用matplotlib繪制圓環(huán)圖(環(huán)形圖)的實(shí)戰(zhàn)案例

 更新時(shí)間:2022年08月02日 14:42:33   作者:林老頭ss  
環(huán)形圖也被稱為圓環(huán)圖,它在功能上與餅圖相同,只是中間有一個(gè)空白,并且能夠同時(shí)支持多個(gè)統(tǒng)計(jì)數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Python利用matplotlib繪制圓環(huán)圖的實(shí)戰(zhàn)案例,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

一、概念介紹

圓環(huán)圖(Donut Chart),又稱為環(huán)形圖,甜甜圈圖。它從餅圖變形而來,單環(huán)的作用上與餅圖相似,用于展示定性數(shù)據(jù)中小類占大類的比例關(guān)系。

Q: 那既然都有餅圖了,為什么還要圓環(huán)圖呢?

① 從空間利用效果上,餅圖的text我們常利用指示線標(biāo)注在每一塊外;而圓環(huán)圖憑借中間挖空的優(yōu)勢,可以將title或者每一塊的text內(nèi)置,便于多圖排布對比。

② 從視覺效果上,如果是一維定性的情況,我們只需要繪制一張餅圖或者圓環(huán)圖,這個(gè)時(shí)候其實(shí)兩者沒差。但一旦有兩維數(shù)據(jù),餅圖利用角度對比大小的方式其實(shí)沒有圓環(huán)圖利用長度來得明顯;再者,在多圖對比時(shí),餅圖是完全填充,如果色系選擇不當(dāng),很容易給受眾產(chǎn)生厚重的感覺,或者說土土的。

③ 對于復(fù)合圖形,旭日圖和雙層環(huán)形也是一樣的道理。

圓環(huán)圖示例:

二、數(shù)據(jù)展示

我們目前手上有的是隨機(jī)選取的八座城市過去一年每日的空氣質(zhì)量評級數(shù)據(jù)(借助爬蟲,源自天氣后報(bào)網(wǎng)http://www.tianqihoubao.com/aqi/)。

網(wǎng)頁數(shù)據(jù)如下:

由于圓環(huán)圖要的是定性數(shù)據(jù),那我們將質(zhì)量等級定為可視化對象。我們的目標(biāo)是:利用圓環(huán)圖分析各個(gè)城市一年中空氣質(zhì)量等級分布的情況。對于收集的數(shù)據(jù),利用excel整理如下所示:

接下來,我們導(dǎo)入數(shù)據(jù)

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
 
df_yh = pd.DataFrame(pd.read_excel('./天氣質(zhì)量指數(shù).xlsx'))

繪圖所需要的數(shù)據(jù)結(jié)構(gòu)如下所示:

三、圖像繪制

顯然,我們的數(shù)據(jù)是二維定性的【城市+空氣質(zhì)量等級】,如果是要將質(zhì)量等級作為大類繪制復(fù)合圖當(dāng)然也是可行的,但因?yàn)槌鞘斜容^多,會顯得擁擠。我們這里選擇的是繪制八幅單圓環(huán)再進(jìn)行排列對比。

plt.rcParams['font.sans-serif'] = 'Microsoft YaHei'
plt.rcParams['axes.unicode_minus'] = False
 
wedgeprops = {'width':0.3, 'edgecolor':'black', 'linewidth':3}
colors = ['#ffda03', '#58bc08','#ff964f' ,'#c875c4' ,'#9a3001']
fig = plt.figure(figsize=(17,9))
for i in range(1,9):
    plt.subplot(2,4,i)
    plt.pie(df_yh.iloc[i-1,1:], wedgeprops=wedgeprops, startangle=90, colors=colors)
    plt.text(0, 0, df_yh['城市'][i-1] , ha='center', va='center', fontsize=22)
# plt.savefig(r'./繪圖結(jié)果/圓環(huán)圖.png')

繪制結(jié)果如下所示:

四、參數(shù)解釋

(1) wedgeprops是我們繪圖時(shí)的參數(shù)字典。

①  ‘width’ -- 圓環(huán)的寬度,取值范圍為[0,1],值越大時(shí)圓環(huán)越寬,width=1的繪制結(jié)果即為餅圖,如下所示:

② ‘edgecolor' -- 邊緣線顏色,包含內(nèi)環(huán)、外環(huán)和每一個(gè)小類間的分割線。選擇顏色只要是plt里有的都行,但盡量選擇深色。

③ ’linewidth' -- 邊緣線寬度。取值范圍[0,100+),可以是小數(shù)值,值越大線越粗。但具體取多少,大家可以根據(jù)自己的圖形多嘗試幾個(gè)數(shù),個(gè)人建議是10以內(nèi)進(jìn)行調(diào)試。

(2) startangle是第一個(gè)數(shù)據(jù)起畫點(diǎn)。

取值可以是實(shí)數(shù)域上任何的數(shù)字,可以為負(fù),也可以為正。0代表正東方向,-90代表正南方向,90代表正北方向。但要注意的是,圖形的繪制按照逆時(shí)針方向。

(3) plt.text

我們在這里用于標(biāo)注title。

plt(x,y)中的x,y用于坐標(biāo)定位

ha -- Horizontal 水平方向上以標(biāo)注文本的哪個(gè)位置作為中心 可選項(xiàng)為:'center', 'right', 'left'

va -- vertical 豎直方向上以標(biāo)注文本的哪個(gè)位置作為中心 可選項(xiàng)為:'top', 'bottom', 'center', 'baseline', 'center_baseline'

為了更好理解,我們分別以ha='right', 'left'舉例:

我們可以看到,‘right’并不是指文本位置居右,而是從文本的右部(京)開始在(0,0)繪制。同理,‘left’并不是指文本位置居右,而是從文本的左部(北)開始繪制。

(4) 可以繪制如示例圖一樣的colorbar,或者legend嗎?

plt.legend()可以將pie中擬定的labels進(jìn)行顯示,即在plt.pie()中增加labels=labels,但同時(shí)圖上每個(gè)小類都會附帶類標(biāo)記。如果我們不希望是圖里標(biāo)記出哪個(gè)部分是優(yōu),哪個(gè)部分是輕度污染的話,調(diào)整如下:

labels = ['優(yōu)','良','輕度污染','中度污染','重度污染']
wedgeprops = {'width':0.3, 'edgecolor':'black', 'linewidth':3}
colors = ['#ffda03', '#58bc08','#ff964f' ,'#c875c4' ,'#9a3001']
fig = plt.figure(figsize=(5,5))
plt.pie(df_yh.iloc[1,1:], wedgeprops=wedgeprops, startangle=0, colors=colors)
plt.legend(labels,loc='upper left')
plt.text(0, 0, df_yh['城市'][1] , ha='center', va='center', fontsize=22)

 得到的結(jié)果即為:

總結(jié)

到此這篇關(guān)于Python利用matplotlib繪制圓環(huán)圖的文章就介紹到這了,更多相關(guān)Python matplotlib繪制圓環(huán)圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python爬蟲 requests-html的使用

    python爬蟲 requests-html的使用

    這篇文章主要介紹了python爬蟲 requests-html的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python數(shù)據(jù)可視化之環(huán)形圖

    Python數(shù)據(jù)可視化之環(huán)形圖

    這篇文章主要介紹了Python數(shù)據(jù)可視化之環(huán)形圖,主要使用兩種不同的方式來可視化環(huán)形圖,并均給出了完整的代碼示例。需要的朋友可以參考一下,希望對你的工作和學(xué)習(xí)有所幫助
    2022-01-01
  • PyInstaller的安裝和使用的詳細(xì)步驟

    PyInstaller的安裝和使用的詳細(xì)步驟

    這篇文章主要介紹了PyInstaller的安裝和使用的詳細(xì)步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • python列表中刪除多條字典信息的三種方法

    python列表中刪除多條字典信息的三種方法

    本文主要介紹了python列表中刪除多條字典信息的三種方法,主要包括列表推導(dǎo)式,filter()函數(shù),del?關(guān)鍵字這三種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 使用python實(shí)現(xiàn)strcmp函數(shù)功能示例

    使用python實(shí)現(xiàn)strcmp函數(shù)功能示例

    這篇文章主要介紹了使用python實(shí)現(xiàn)strcmp函數(shù)功能的示例,需要的朋友可以參考下
    2014-03-03
  • python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目

    python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)名片管理系統(tǒng)項(xiàng)目,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • python全局解釋器GIL鎖機(jī)制詳解

    python全局解釋器GIL鎖機(jī)制詳解

    我們要知道一點(diǎn)GIL并不是Python的特性,它是Python解釋器Cpython引入的一個(gè)概念,下面這篇文章主要給大家介紹了關(guān)于python全局解釋器GIL鎖機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • python矩陣基本運(yùn)算的實(shí)現(xiàn)

    python矩陣基本運(yùn)算的實(shí)現(xiàn)

    本文主要介紹了python?矩陣的基本運(yùn)算,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Python 二叉樹的概念案例詳解

    Python 二叉樹的概念案例詳解

    這篇文章主要介紹了二叉樹的概念案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 淺談Python中對象是如何被調(diào)用的

    淺談Python中對象是如何被調(diào)用的

    本文主要介紹了淺談Python中對象是如何被調(diào)用的,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

陈巴尔虎旗| 临泽县| 三穗县| 西峡县| 乌鲁木齐县| 邯郸县| 乌苏市| 威远县| 余庆县| 周宁县| 乌兰察布市| 襄城县| 忻州市| 清苑县| 河间市| 白沙| 五原县| 周至县| 措美县| 扎囊县| 辽源市| 天等县| 潍坊市| 英吉沙县| 永济市| 盐边县| 股票| 胶州市| 册亨县| 辉南县| 宜昌市| 卓资县| 微山县| 辉南县| 龙泉市| 凤庆县| 白城市| 右玉县| 盘山县| 梨树县| 彩票|