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

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

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

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

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

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

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

1. 主要元素

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

它的主要元素包括:

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

2. 適用的場景

百分比柱狀圖適用的場景很多,比如:

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

3. 不適用的場景

百分比柱狀圖也有不適用于的場景,比如:

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

4. 分析實戰(zhàn)

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

4.1. 數(shù)據(jù)來源

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

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

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

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

選取和上一篇堆疊柱狀圖一樣,還是5類:

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

和堆疊柱狀圖不同的是,繪制百分比柱狀圖用的是百分比數(shù)值,所有要把原始數(shù)據(jù)中每年的絕對數(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["各類消耗量占比"] = data["value"] / data["年消耗總量"]
data.loc[:, ["sjCN", "zbCN", "各類消耗量占比"]].head(10)

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

import matplotlib.ticker as mticker
data = data.sort_values("sj")
data["各類消耗量占比"] = data["各類消耗量占比"]*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 = {
        "蔬菜及菌類(%)": data[data["zb"] == "A0A0A03"]["各類消耗量占比"].tolist(),
        "肉類(%)": data[data["zb"] == "A0A0A04"]["各類消耗量占比"].tolist(),
        "禽類(%)": data[data["zb"] == "A0A0A05"]["各類消耗量占比"].tolist(),
        "水產(chǎn)品(%)": data[data["zb"] == "A0A0A06"]["各類消耗量占比"].tolist(),
        "蛋類(%)": data[data["zb"] == "A0A0A07"]["各類消耗量占比"].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("全國居民主要糧食消耗情況")
    ax.legend(loc="upper left", ncol=5)

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

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

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

相關(guān)文章

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

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

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

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

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

    Python人工智能之混合高斯模型運動目標(biāo)檢測詳解分析

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

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

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

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

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

    Python項目中5個Enum枚舉巧妙操作詳解

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

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

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

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

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

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

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

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

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

最新評論

钟祥市| 昌吉市| 页游| 双流县| 湘西| 崇仁县| 偃师市| 万安县| 大英县| 蒙山县| 柳河县| 宁乡县| 江口县| 佛冈县| 濮阳县| 宁津县| 临潭县| 大冶市| 察哈| 敦煌市| 广州市| 卓资县| 金川县| 江安县| 洱源县| 天峻县| 噶尔县| 和平区| 德安县| 南陵县| 屯昌县| 娄烦县| 德保县| 太湖县| 福鼎市| 贺兰县| 莱阳市| 赤水市| 闽清县| 穆棱市| 永定县|