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

使用matplotlib繪制并排柱狀圖的實(shí)戰(zhàn)案例

 更新時(shí)間:2022年07月01日 12:05:04   作者:林老頭ss  
堆積柱狀圖有堆積柱狀圖的好處,比如說我們可以很方便地看到多分類總和的趨勢(shì),下面這篇文章主要給大家介紹了關(guān)于使用matplotlib繪制并排柱狀圖的相關(guān)資料,需要的朋友可以參考下

一、概念說明

柱狀圖(bar chart),從相同的橫坐標(biāo)出發(fā),以不同的數(shù)值大小來設(shè)定柱子的高度,進(jìn)而表示無序或有序的定性數(shù)據(jù)間某個(gè)定量指標(biāo)的大小關(guān)系。

示意圖如下:

(1) 在無序的橫坐標(biāo)情景下,我們常常根據(jù)數(shù)值大小降序排布。

(2) 柱狀圖在縱坐標(biāo)上可以有正有負(fù),但必須以基準(zhǔn)的0線開始繪制,否則會(huì)傳遞錯(cuò)誤的視覺信息。

(3) 當(dāng)類別間數(shù)值差異較大/類別較多/類別命名文本較長(zhǎng)時(shí),我們可以考慮將柱形圖逆轉(zhuǎn)90°,即使用條形圖。

(4)如果手中的數(shù)據(jù)是二維定性的情況,可以根據(jù)需求分別選擇堆疊柱狀圖或者并排柱狀圖。

 ①堆疊柱狀圖:

        --- 關(guān)注類0-4的大類總量的對(duì)比

        --- 同時(shí)關(guān)注小類a/b占大類的比重

② 并排柱狀圖(案例對(duì)象)

 

         --- 更關(guān)注小類系列1-3在不同大類1-4間的對(duì)比

         --- 關(guān)注小類在大類間數(shù)值分布的差異

         --- 如果要呈現(xiàn)大類總量信息,可以增加折線圖

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

在本案例中, 我們是希望使用python編碼,利用其中matplotlib包繪制并排柱狀圖,因此我們需要二維定序數(shù)據(jù)。

根據(jù)我專欄其它的案例呢,還是繼續(xù)使用隨機(jī)選的八座城市,目的是希望了解八座城市小初高學(xué)校數(shù)量對(duì)比(柱狀),以及人口數(shù)情況(折線)。

秉持城市統(tǒng)計(jì)公報(bào)中有就記錄,無就百度的原則,得到以下僅供繪圖的數(shù)據(jù)。

上述excel表格的數(shù)據(jù)分別存放,利用下述代碼我們將其導(dǎo)入

import pandas as pd
school_num = pd.DataFrame(pd.read_excel('./小初高學(xué)校個(gè)數(shù).xlsx'))
people_num = pd.DataFrame(pd.read_excel('./2020人口普查數(shù)據(jù).xlsx'))

三、圖像繪制

import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
 
# 中文和正負(fù)號(hào)設(shè)置
mpl.rcParams["font.sans-serif"] = ["SimHei"]
mpl.rcParams["axes.unicode_minus"] = False
 
x = np.arange(8)
bar_width = 0.3
tick_label = school_num['城市']
plt.figure(figsize=(13,7))
# 柱狀
plt.bar(x, school_num['小學(xué)'], bar_width, align="center", color="#2bb179", label='小學(xué)', alpha=0.5)
plt.bar(x+bar_width, school_num['初中'], bar_width, color="b", align="center", label="初中", alpha=0.5)
plt.bar(x+bar_width*2, school_num['高中'], bar_width, color="orange", align="center", label="高中", alpha=0.5)
# 折線
plt.plot(x+bar_width, people_num['人數(shù)-萬'], color="#ff796c", marker='o', lw=2,label='人口普查數(shù)(萬)')
 
text_x = [x,x+bar_width,x+bar_width*2]
text_x = [text_x[i][j]  for i in range(3) for j in range(8) ]
text_y = [school_num['小學(xué)'],school_num['初中'],school_num['高中']]
text_y = [text_y[i][j]  for i in range(3) for j in range(8) ]
plt.xticks(x+bar_width, tick_label,fontsize=18)
plt.yticks(fontsize=18)
plt.xlabel("城市",fontsize=20)
plt.ylabel("學(xué)校數(shù)量",fontsize=20)
plt.legend(fontsize=16)
plt.grid()
 
# 柱型加數(shù)字
for x,y,text in zip(text_x,text_y,text_y):
    plt.text(x-0.12,y+15,str(text),fontsize=12)
 
# plt.savefig(r'./并排柱狀圖示例.png')

 plt.bar(橫坐標(biāo)位置,柱子數(shù)值)  ---  橫坐標(biāo)位置一般用np.arange(橫坐標(biāo)類別數(shù))得到,因此在并排中,每一個(gè)小類,都要右移窗寬個(gè)單位,如果您覺得緊挨著顯得很密,也可以加0.1讓它們稍稍隔開。

plt.plot 的橫坐標(biāo)我選擇x+bar_width是因?yàn)槲覀冇腥齻€(gè)柱子,我希望折線的原點(diǎn)是對(duì)應(yīng)橫坐標(biāo)居中顯示。

plt.text  ---  這一部分是給整幅圖加文字,但具體加在什么位置需要自己指定。

plt.xticks(原名稱,新名稱)

繪制結(jié)果:

 希望對(duì)您有所幫助~

總結(jié)

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

相關(guān)文章

  • Python3爬樓梯算法示例

    Python3爬樓梯算法示例

    這篇文章主要介紹了Python3爬樓梯算法,涉及Python基于面向?qū)ο蟮淖址闅v、切片、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2019-03-03
  • Python裝飾器類方法擴(kuò)展元類管理實(shí)例探究

    Python裝飾器類方法擴(kuò)展元類管理實(shí)例探究

    這篇文章主要為大家介紹了Python裝飾器類方法擴(kuò)展元類管理實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • python將紅底證件照轉(zhuǎn)成藍(lán)底的實(shí)現(xiàn)方法

    python將紅底證件照轉(zhuǎn)成藍(lán)底的實(shí)現(xiàn)方法

    這篇文章主要介紹了python將紅底證件照轉(zhuǎn)成藍(lán)底,本文給大家分享四種方法通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • python從入門到精通(DAY 2)

    python從入門到精通(DAY 2)

    本文是python從入門到精通系列文章的第二篇,主要給大家簡(jiǎn)單講解下Python的字典復(fù)制和內(nèi)置函數(shù),非常簡(jiǎn)單實(shí)用,需要的小伙伴可以參考下
    2015-12-12
  • Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符

    Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符

    這篇文章主要介紹了Python學(xué)習(xí)筆記之變量與轉(zhuǎn)義符,本文從零開始學(xué)習(xí)Python,知識(shí)點(diǎn)很細(xì),有共同目標(biāo)的小伙伴可以一起來學(xué)習(xí)
    2023-03-03
  • 基于Python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)

    基于Python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Python TCPServer 多線程多客戶端通信的實(shí)現(xiàn)

    Python TCPServer 多線程多客戶端通信的實(shí)現(xiàn)

    這篇文章主要介紹了Python TCPServer 多線程多客戶端通信的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python實(shí)現(xiàn)批量監(jiān)聽頁(yè)面并發(fā)送郵件

    python實(shí)現(xiàn)批量監(jiān)聽頁(yè)面并發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了python如何實(shí)現(xiàn)自動(dòng)化批量監(jiān)聽頁(yè)面并發(fā)送郵件,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11
  • python Web flask 視圖內(nèi)容和模板實(shí)現(xiàn)代碼

    python Web flask 視圖內(nèi)容和模板實(shí)現(xiàn)代碼

    這篇文章主要介紹了python Web flask 視圖內(nèi)容和模板實(shí)現(xiàn)代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Python實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù)

    Python實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù)

    CSV文件包含許多記錄,數(shù)據(jù)分布在各行和各列中,在這篇文章中,小編主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)可視化CSV文件中的數(shù)據(jù),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-11-11

最新評(píng)論