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

Matplotlib實(shí)戰(zhàn)之百分比柱狀圖繪制詳解

 更新時(shí)間:2023年08月23日 10:55:03   作者:databook  
百分比堆疊式柱狀圖是一種特殊的柱狀圖,可以用于可視化比較不同類(lèi)別或組的百分比或比例的圖表,下面我們就來(lái)介紹一下如何使用Matplotlib繪制百分比柱狀圖,需要的可以參考下

百分比堆疊式柱狀圖是一種特殊的柱狀圖,它的每根柱子是等長(zhǎng)的,總額為100%。

柱子內(nèi)部被分割為多個(gè)部分,高度由該部分占總體的百分比決定。

百分比堆疊式柱狀圖不顯示數(shù)據(jù)的“絕對(duì)數(shù)值”,而是顯示“相對(duì)比例”。

但同時(shí),它也仍然具有柱狀圖的固有功能,即“比較”——我們可以通過(guò)比較多個(gè)柱子的構(gòu)成,分析數(shù)值之間的相對(duì)差異,或者得出數(shù)值變化的趨勢(shì)。

1. 主要元素

百分比柱狀圖是一種用于可視化比較不同類(lèi)別或組的百分比或比例的圖表。

它的主要元素包括:

  • 橫軸:表示數(shù)據(jù)的主分類(lèi)。
  • 縱軸:每個(gè)子分類(lèi)的比例關(guān)系。
  • 堆疊的矩形:每個(gè)柱狀圖由多個(gè)堆疊部分組成,和堆疊柱狀圖不同的是,每個(gè)柱子都是一樣高的。
  • 圖例:每個(gè)堆疊部分代表的意義。

2. 適用的場(chǎng)景

百分比柱狀圖適用的場(chǎng)景很多,比如:

  • 市場(chǎng)份額:比較不同產(chǎn)品或服務(wù)的市場(chǎng)份額,幫助決策者了解市場(chǎng)競(jìng)爭(zhēng)情況。
  • 人口比例:顯示不同地區(qū)或不同群體的人口比例,或不同年齡段的人口比例。
  • 問(wèn)卷調(diào)查結(jié)果:比較不同選項(xiàng)或答案的頻率或比例,或者用戶(hù)對(duì)產(chǎn)品特性的滿(mǎn)意度。
  • 部門(mén)預(yù)算分配:顯示不同部門(mén)或項(xiàng)目的預(yù)算分配比例,幫助管理者了解資源分配情況。
  • 等等。。。

3. 不適用的場(chǎng)景

百分比柱狀圖也有不適用于的場(chǎng)景,比如:

  • 比較絕對(duì)數(shù)值:如果需要比較具體的數(shù)值大小而不僅僅是比例,那么百分比柱狀圖可能不是最合適的選擇。
  • 數(shù)據(jù)存在重疊:如果不同類(lèi)別的數(shù)據(jù)存在重疊或者相互依賴(lài)的情況,百分比柱狀圖可能無(wú)法清晰地展示比例關(guān)系。
  • 數(shù)據(jù)量過(guò)大或過(guò)小:如果數(shù)據(jù)量過(guò)大或過(guò)小,百分比柱狀圖可能無(wú)法有效地顯示比例關(guān)系。

4. 分析實(shí)戰(zhàn)

和上一篇堆疊柱狀圖使用相同的原始數(shù)據(jù),繪制圖形之后可以看看這兩種柱狀圖展示分析結(jié)果的區(qū)別。

4.1. 數(shù)據(jù)來(lái)源

數(shù)據(jù)來(lái)自國(guó)家統(tǒng)計(jì)局公開(kāi)的人民生活數(shù)據(jù),可從下面的網(wǎng)址下載:databook.top/nation/A0A

使用的是其中 A0A0A.csv文件(全國(guó)居民主要食品消費(fèi)量)

fp = "d:/share/A0A0A.csv"
df = pd.read_csv(fp)
df

4.2. 數(shù)據(jù)清理

選取和上一篇堆疊柱狀圖一樣,還是5類(lèi):

  • 居民人均蔬菜及食用菌消費(fèi)量(千克)
  • 居民人均肉類(lèi)消費(fèi)量(千克)
  • 居民人均禽類(lèi)消費(fèi)量(千克)
  • 居民人均水產(chǎn)品消費(fèi)量(千克)
  • 居民人均蛋類(lèi)消費(fèi)量(千克)

和堆疊柱狀圖不同的是,繪制百分比柱狀圖用的是百分比數(shù)值,所有要把原始數(shù)據(jù)中每年的絕對(duì)數(shù)值轉(zhuǎn)換為百分比數(shù)值。

data = df[(df["sj"] >= 2013) & 
        (df["sj"] <= 2021) & 
        (df["zb"].isin(["A0A0A03", 
                        "A0A0A04",
                        "A0A0A05",
                        "A0A0A06",
                        "A0A0A07"]))].copy()
data["年消耗總量"] = data.groupby("sj").value.transform("sum")
data["各類(lèi)消耗量占比"] = data["value"] / data["年消耗總量"]
data.loc[:, ["sjCN", "zbCN", "各類(lèi)消耗量占比"]].head(10)

4.3. 分析結(jié)果可視化

import matplotlib.ticker as mticker
data = data.sort_values("sj")
data["各類(lèi)消耗量占比"] = data["各類(lèi)消耗量占比"]*100
with plt.style.context("seaborn-v0_8"):
    fig = plt.figure()
    ax = fig.add_axes([0.1, 0.1, 0.8, 0.8])
    years = data["sjCN"].drop_duplicates(keep="first").tolist()
    bar_data = {
        "蔬菜及菌類(lèi)(%)": data[data["zb"] == "A0A0A03"]["各類(lèi)消耗量占比"].tolist(),
        "肉類(lèi)(%)": data[data["zb"] == "A0A0A04"]["各類(lèi)消耗量占比"].tolist(),
        "禽類(lèi)(%)": data[data["zb"] == "A0A0A05"]["各類(lèi)消耗量占比"].tolist(),
        "水產(chǎn)品(%)": data[data["zb"] == "A0A0A06"]["各類(lèi)消耗量占比"].tolist(),
        "蛋類(lèi)(%)": data[data["zb"] == "A0A0A07"]["各類(lèi)消耗量占比"].tolist(),
    }
    bottom = np.zeros(len(years))
    for key, vals in bar_data.items():
        ax.bar(years, vals, label=key, bottom=bottom)
        bottom += vals
    # 設(shè)置Y軸刻度的顯示格式
    ax.set_ylim(0, 110)
    yticks = ax.get_yticks().tolist()
    ax.yaxis.set_major_locator(mticker.FixedLocator(yticks))
    ax.set_yticklabels(["{}%".format(x) for x in yticks])
    ax.set_title("全國(guó)居民主要糧食消耗情況")
    ax.legend(loc="upper left", ncol=5)

百分比柱狀圖每年的數(shù)據(jù)高度都一樣,與堆疊柱狀圖相比,更容易比較每個(gè)種類(lèi)糧食的消耗情況。

不過(guò),這種圖看不出糧食總量的變化情況了。

到此這篇關(guān)于Matplotlib實(shí)戰(zhàn)之百分比柱狀圖繪制詳解的文章就介紹到這了,更多相關(guān)Matplotlib百分比柱狀圖內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    這篇文章介紹了利用Python讀取圖片屬性信息的方法,讀取的內(nèi)容包括GPS 信息、圖片分辨率、圖片像素、設(shè)備商、拍攝設(shè)備等,有需要的朋友們可以參考借鑒。
    2016-09-09
  • python抓取網(wǎng)頁(yè)內(nèi)容示例分享

    python抓取網(wǎng)頁(yè)內(nèi)容示例分享

    這篇文章主要介紹了python抓取網(wǎng)頁(yè)內(nèi)容示例,在抓取的時(shí)候?qū)τ趃bk編碼網(wǎng)頁(yè)還需要轉(zhuǎn)化一下,具體看下面的示例吧
    2014-02-02
  • Python人工智能之混合高斯模型運(yùn)動(dòng)目標(biāo)檢測(cè)詳解分析

    Python人工智能之混合高斯模型運(yùn)動(dòng)目標(biāo)檢測(cè)詳解分析

    運(yùn)動(dòng)目標(biāo)檢測(cè)是計(jì)算機(jī)視覺(jué)領(lǐng)域中的一個(gè)重要內(nèi)容,其檢測(cè)效果將會(huì)對(duì)目標(biāo)跟蹤與識(shí)別造成一定的影響,本文將介紹用Python來(lái)進(jìn)行混合高斯模型運(yùn)動(dòng)目標(biāo)檢測(cè),感興趣的朋友快來(lái)看看吧
    2021-11-11
  • Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解

    這篇文章主要介紹了Python循環(huán)結(jié)構(gòu)的應(yīng)用場(chǎng)景詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 詳解python實(shí)現(xiàn)線程安全的單例模式

    詳解python實(shí)現(xiàn)線程安全的單例模式

    這篇文章主要介紹了python實(shí)現(xiàn)線程安全的單例模式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Python項(xiàng)目中5個(gè)Enum枚舉巧妙操作詳解

    Python項(xiàng)目中5個(gè)Enum枚舉巧妙操作詳解

    這篇文章主要為大家詳細(xì)介紹了Python項(xiàng)目中5個(gè)Enum枚舉巧妙操作,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,有需要的小伙伴可以了解下
    2025-10-10
  • Python代碼連接到 Chat GPT API的方法

    Python代碼連接到 Chat GPT API的方法

    Chat GPT 由于其獨(dú)特、近乎準(zhǔn)確且類(lèi)似人類(lèi)的響應(yīng),如今在互聯(lián)網(wǎng)上引起了過(guò)多的討論,本文討論如何通過(guò) Python 代碼連接到 Chat GPT API,感興趣的朋友一起看看吧
    2023-02-02
  • Python 獲得命令行參數(shù)的方法(推薦)

    Python 獲得命令行參數(shù)的方法(推薦)

    本篇將介紹python中sys, getopt模塊處理命令行參數(shù)的方法,本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友參考下吧
    2018-01-01
  • Python利用PySimpleGUI實(shí)現(xiàn)自制桌面翻譯神器

    Python利用PySimpleGUI實(shí)現(xiàn)自制桌面翻譯神器

    工作上經(jīng)常需要與外國(guó)友人郵件溝通,奈何工作電腦沒(méi)有安裝有道詞典一類(lèi)的翻譯軟件,結(jié)合自己的需要,自己用PySimpleGUI擼一個(gè)桌面翻譯神器,感興趣的可以了解一下
    2022-09-09
  • Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題實(shí)例

    Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題實(shí)例

    這篇文章主要介紹了Python基于回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題,簡(jiǎn)單描述了數(shù)字組合問(wèn)題并結(jié)合實(shí)例形式分析了Python回溯法子集樹(shù)模板解決數(shù)字組合問(wèn)題的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

得荣县| 安平县| 肃南| 武城县| 时尚| 和平区| 彭州市| 九龙县| 武乡县| 桂阳县| 北票市| 区。| 环江| 南陵县| 静安区| 邢台县| 衡阳县| 始兴县| 丰镇市| 宜章县| 三台县| 银川市| 阳高县| 卢氏县| 深泽县| 本溪| 浙江省| 漳州市| 巨鹿县| 洛宁县| 东丽区| 监利县| 堆龙德庆县| 若羌县| 许昌县| 衡阳市| 兴和县| 三亚市| 弥渡县| 临桂县| 车险|