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

Matplotlib實(shí)現(xiàn)各種條形圖繪制

 更新時(shí)間:2022年03月22日 10:07:47   作者:冰履踏青云  
這篇文章主要介紹了Matplotlib實(shí)現(xiàn)各種條形圖繪制,文章通過(guò)利用 plt.bar 方法實(shí)現(xiàn)各種條形圖繪制,內(nèi)容詳細(xì)具有一定的參考價(jià)值,需要的小伙伴可以參考一下

1. 條形圖的繪制

plt.bar 方法有以下常用參數(shù):

  • x :一個(gè)數(shù)組或者列表,代表需要繪制的條形圖的x軸的坐標(biāo)點(diǎn)。
  • height :一個(gè)數(shù)組或者列表,代表需要繪制的條形圖y軸的坐標(biāo)點(diǎn)。
  • width :每一個(gè)條形圖的寬度,默認(rèn)是0.8的寬度。
  • bottom : y 軸的基線,默認(rèn)是0,也就是距離底部為0.
  • align :對(duì)齊方式,默認(rèn)是 center ,也就是跟指定的 x 坐標(biāo)居中對(duì)齊,還有為 edge ,靠
  • 邊對(duì)齊,具體靠右邊還是靠左邊,看 width 的正負(fù)。
  •  color :條形圖的顏色。

返回值為 BarContainer ,是一個(gè)存儲(chǔ)了條形圖的容器,而條形圖實(shí)際上的類型
是 matplotlib.patches.Rectangle 對(duì)象。
更多參考

比如現(xiàn)在有 2019 年賀歲片票房的數(shù)據(jù)(數(shù)據(jù)來(lái)源

#票房單位億元
movies = {
?"流浪地球":40.78,
?"飛馳人生":15.77,
?"瘋狂的外星人":20.83,
?"新喜劇之王":6.10,
?"廉政風(fēng)云":1.10,
?"神探蒲松齡":1.49,
?"小豬佩奇過(guò)大年":1.22,
?"熊出沒(méi)·原始時(shí)代":6.71
}

用條形圖繪制每部電影及其票房的代碼如下:

movies = {
? ? "流浪地球":40.78,
? ? "飛馳人生":15.77,
? ? "瘋狂的外星人":20.83,
? ? "新喜劇之王":6.10,
? ? "廉政風(fēng)云":1.10,
? ? "神探蒲松齡":1.49,
? ? "小豬佩奇過(guò)大年":1.22,
? ? "熊出沒(méi)·原始時(shí)代":6.71
}
x = list(movies.keys())
y = list(movies.values())
plt.figure(figsize=(15,5))
# plt.bar(x,y,width=-0.3,align="edge",color='r',edgecolor='k')
movie_df = pd.DataFrame(data={"names":list(movies.keys()),"tickets":list(movies.values())})
plt.bar("names","tickets",data=movie_df)
plt.xticks(fontproperties=font,size=12)
plt.yticks(range(0,45,5),["%d億"%x for x in range(0,45,5)],fontproperties=font,size=12)
plt.grid()

其中 xticks yticks 的用法跟之前的折線圖一樣。這里新出現(xiàn)的方法是 bar , bar 常用的有3個(gè)參數(shù),分別是 x (x軸的坐標(biāo)點(diǎn)), y (y軸的坐標(biāo)點(diǎn))以及 width (條形的寬度)。

2. 橫向條形圖

橫向條形圖需要使用plt.barh 這個(gè)方法跟 bar 非常的類似,只不過(guò)把方向進(jìn)行旋轉(zhuǎn)。參數(shù)
跟 bar 類似,但也有區(qū)別。

如下:

  • y :數(shù)組或列表,代表需要繪制的條形圖在 y 軸上的坐標(biāo)點(diǎn)。
  • width :數(shù)組或列表,代表需要繪制的條形圖在 x 軸上的值(也就是長(zhǎng)度)。
  • height :條形圖的高度,默認(rèn)是0.8。
  • left :條形圖的基線,也就是距離y軸的距離。

其他參數(shù)跟 bar 一樣。
返回值也是 BarContainer 容器對(duì)象。

還是以以上數(shù)據(jù)為例,將電影名和票房反轉(zhuǎn)一下。

示例代碼如下:

plt.barh(list(movies.keys()),list(movies.values()))
plt.yticks(fontproperties=font,size=12)

3. 分組條形圖

現(xiàn)在有一組數(shù)據(jù),是2019年春節(jié)賀歲片前五天的電影票房記錄。

示例代碼如下:

movies = {
? ? "流浪地球":[2.01,4.59,7.99,11.83,16],
? ? "飛馳人生":[3.19,5.08,6.73,8.10,9.35],
? ? "瘋狂的外星人":[4.07,6.92,9.30,11.29,13.03],
? ? "新喜劇之王":[2.72,3.79,4.45,4.83,5.11],
? ? "廉政風(fēng)云":[0.56,0.74,0.83,0.88,0.92],
? ? "神探蒲松齡":[0.66,0.95,1.10,1.17,1.23],
? ? "小豬佩奇過(guò)大年":[0.58,0.81,0.94,1.01,1.07],
? ? "熊出沒(méi)·原始時(shí)代":[1.13,1.96,2.73,3.42,4.05]
}

plt.figure(figsize=(20,8))
width = 0.75
bin_width = width/5
movie_pd = pd.DataFrame(movies)
ind = np.arange(0,len(movies))
# 第一種方案
# first_day = movie_pd.iloc[0]
# plt.bar(ind-bin_width*2,first_day,width=bin_width,label='第一天')
# second_day = movie_pd.iloc[1]
# plt.bar(ind-bin_width,second_day,width=bin_width,label='第二天')
# third_day = movie_pd.iloc[2]
# plt.bar(ind,third_day,width=bin_width,label='第三天')
# four_day = movie_pd.iloc[3]
# plt.bar(ind+bin_width,four_day,width=bin_width,label='第四天')
# five_day = movie_pd.iloc[4]
# plt.bar(ind+bin_width*2,five_day,width=bin_width,label='第五天')

# 第二種方案
for index in movie_pd.index:
? ? day_tickets = movie_pd.iloc[index]
? ? xs = ind-(bin_width*(2-index))
? ? plt.bar(xs,day_tickets,width=bin_width,label="第%d天"%(index+1))
? ? for ticket,x in zip(day_tickets,xs):
? ? ? ? plt.annotate(ticket,xy=(x,ticket),xytext=(x-0.1,ticket+0.1))
# 設(shè)置圖例
plt.legend(prop=font)
plt.ylabel("單位:億",fontproperties=font)
plt.title("春節(jié)前5天電影票房記錄",fontproperties=font)
# 設(shè)置x軸的坐標(biāo)
plt.xticks(ind,movie_pd.columns,fontproperties=font)
plt.xlim
plt.grid(True)
plt.show()

4. 堆疊條形圖

堆疊條形圖,是將一組相關(guān)的條形圖堆疊在一起進(jìn)行比較的條形圖。

比如以下案例:

menMeans = (20, 35, 30, 35, 27)
womenMeans = (25, 32, 34, 20, 25)
groupNames = ('G1','G2','G3','G4','G5')
plt.bar(groupNames,menMeans,label="男性得分")
plt.bar(groupNames,womenMeans,bottom=menMeans,label='女性得分')
plt.legend(prop=font)

在繪制女性得分的條形圖的時(shí)候,因?yàn)橐询B在男性得分的條形圖上,所以使用到了一
個(gè) bottom 參數(shù),就是距離 x 軸的距離。通過(guò)對(duì)貼條形圖,我們就可以清楚的知道,哪一個(gè)隊(duì)伍的綜合排名是最高的,并且在每個(gè)隊(duì)伍中男女的得分情況。

5. 條形圖應(yīng)用場(chǎng)景

  • 數(shù)量統(tǒng)計(jì)。
  • 頻率統(tǒng)計(jì)。
  • 適用于分類數(shù)據(jù)對(duì)比。
  • 垂直條形圖最多不超過(guò)12個(gè)分類(也就是12個(gè)柱形),橫向條形圖最多不超過(guò)30個(gè)分類。如果垂直條形圖的分類名太長(zhǎng),那么建議換成橫向條形圖。
  • 柱狀圖不適合表示趨勢(shì),如果想要表示趨勢(shì),應(yīng)該使用折線圖。

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

相關(guān)文章

  • Python如何繪制概率分布直方圖淺析

    Python如何繪制概率分布直方圖淺析

    項(xiàng)目中在前期經(jīng)常要看下數(shù)據(jù)的分布情況,這對(duì)于探究數(shù)據(jù)規(guī)律非常有用,概率分布表示樣本數(shù)據(jù)的模樣,使用Python繪制頻率分布直方圖非常簡(jiǎn)潔,因?yàn)橛玫念l次非常高,這篇文章主要給大家介紹了關(guān)于Python如何繪制概率分布直方圖的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • opencv?canny邊緣檢測(cè)算法詳解

    opencv?canny邊緣檢測(cè)算法詳解

    本文主要介紹了opencv?canny邊緣檢測(cè)算法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • numpy排序與集合運(yùn)算用法示例

    numpy排序與集合運(yùn)算用法示例

    這篇文章主要介紹了numpy排序與集合運(yùn)算用法示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Python3.9.1中使用match方法詳解

    Python3.9.1中使用match方法詳解

    這篇文章主要介紹了Python3.9.1中使用match方法詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-02-02
  • Python繪制牛奶凍曲線(高木曲線)案例

    Python繪制牛奶凍曲線(高木曲線)案例

    這篇文章主要介紹了Python繪制牛奶凍曲線(高木曲線)案例,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(六)支持向量機(jī)

    python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)(六)支持向量機(jī)

    這篇文章主要介紹了python機(jī)器學(xué)習(xí)理論與實(shí)戰(zhàn)第六篇,支持向量機(jī)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解Python字典的運(yùn)算

    詳解Python字典的運(yùn)算

    這篇文章主要為大家介紹了Python字典的運(yùn)算 ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例

    python調(diào)用系統(tǒng)中應(yīng)用程序的函數(shù)示例

    這篇文章主要為大家介紹了python調(diào)用系統(tǒng)中應(yīng)用程序詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-06-06
  • Python實(shí)現(xiàn)讀取txt文件并畫(huà)三維圖簡(jiǎn)單代碼示例

    Python實(shí)現(xiàn)讀取txt文件并畫(huà)三維圖簡(jiǎn)單代碼示例

    這篇文章主要介紹了Python實(shí)現(xiàn)讀取txt文件并畫(huà)三維圖簡(jiǎn)單代碼示例,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • pytest用yaml文件編寫(xiě)測(cè)試用例流程詳解

    pytest用yaml文件編寫(xiě)測(cè)試用例流程詳解

    這篇文章主要介紹了pytest用yaml文件編寫(xiě)測(cè)試用例流程,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-12-12

最新評(píng)論