python繪制帶有誤差棒條形圖的實(shí)現(xiàn)
bar和barh
在matplotlib中,通過bar和barh來繪制條形圖,分別表示縱向和橫向的條形圖。二者的輸入數(shù)據(jù)均主要為高度x和標(biāo)簽height,示例如下
import matplotlib.pyplot as plt import numpy as np x = np.arange(8) fig = plt.figure() ax = fig.add_subplot(1,2,1) ax.bar(x.astype(str), x) ax = fig.add_subplot(1,2,2) ax.barh(x.astype(str), x) plt.show()
效果為

其中,左側(cè)為縱向的條形圖,右側(cè)為橫向的條形圖,二者分別由bar和barh實(shí)現(xiàn)。
加入誤差棒
在bar或者barh中,誤差線由xerr, yerr來表示,其輸入值為 1 × N 1\times N 1×N或者 2 × N 2\times N 2×N維數(shù)組。
errs = np.random.rand(2, 8) fig = plt.figure() ax = fig.add_subplot(1,2,1) ax.bar(x.astype(str), x, yerr=errs, capsize=5) ax = fig.add_subplot(1,2,2) ax.barh(x.astype(str), x, xerr=errs, capsize=5) plt.show()
從代碼可知,縱向的條形圖和橫向的條形圖有著不同的誤差棒參數(shù),其中縱向的條形圖用yerr作為誤差棒;橫向條形圖用xerr做誤差棒,效果如圖所示

如果反過來,那么效果會(huì)非?;?/p>
errs = np.random.rand(2, 8) fig = plt.figure() ax = fig.add_subplot(1,2,1) ax.bar(x.astype(str), x, xerr=errs, capsize=5) ax = fig.add_subplot(1,2,2) ax.barh(x.astype(str), x, yerr=errs, capsize=5) plt.show()

在熟悉基礎(chǔ)功能之后,就可以對條形圖和誤差棒進(jìn)行更高級(jí)的定制。bar和barh函數(shù)的定義為
Axes.bar(x, height, width=0.8, bottom=None, *, align='center', data=None, **kwargs) Axes.barh(y, width, height=0.8, left=None, *, align='center', data=None, **kwargs)
其中,x, y, height, width等參數(shù)自不必多說,而顏色、邊框顏色等的定制參數(shù),在**kwarg中,可通過下列參數(shù)來搞定
- color 控制條形圖顏色
- edgecolor 控制條形圖邊框顏色
- linewidth 控制條形圖邊框粗細(xì)
- ecolor 控制誤差線顏色
- capsize 誤差棒端線長度
上面的參數(shù)中,凡是涉及顏色的,均支持單個(gè)顏色和顏色列表,據(jù)此可對每個(gè)數(shù)據(jù)條進(jìn)行定制。
定制誤差棒顏色
下面就對條形圖和誤差棒的顏色進(jìn)行定制
xs = np.arange(1,6)
errs = np.random.rand(5)
colors = ['red', 'blue', 'green', 'orange', 'pink']
plt.bar(xs.astype(str), xs, yerr=errs, color='white',
edgecolor=colors, ecolor=colors)
plt.show()其中,color表示條形圖的數(shù)據(jù)條內(nèi)部的顏色,此處設(shè)為白色。然后將數(shù)據(jù)條的邊框和誤差棒,均設(shè)為colors,即紅色、藍(lán)色、綠色、橘黃色以及粉色,最終得到效果如下

到此這篇關(guān)于python繪制帶有誤差棒條形圖的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python帶有誤差棒條形圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了Python產(chǎn)生一個(gè)數(shù)值范圍內(nèi)的不重復(fù)的隨機(jī)數(shù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
詳解mac python+selenium+Chrome 簡單案例
這篇文章主要介紹了詳解mac python+selenium+Chrome 簡單案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python使用DPKT實(shí)現(xiàn)分析數(shù)據(jù)包
dpkt項(xiàng)目是一個(gè)Python模塊,主要用于對網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行解析和操作,z這篇文章主要為大家介紹了python如何利用DPKT實(shí)現(xiàn)分析數(shù)據(jù)包,有需要的可以參考下2023-10-10
python通過對字典的排序,對json字段進(jìn)行排序的實(shí)例
今天小編就為大家分享一篇python通過對字典的排序,對json字段進(jìn)行排序的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
Python 詳解通過Scrapy框架實(shí)現(xiàn)爬取百度新冠疫情數(shù)據(jù)流程
Scrapy是用純Python實(shí)現(xiàn)一個(gè)為了爬取網(wǎng)站數(shù)據(jù)、提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,用途非常廣泛,框架的力量,用戶只需要定制開發(fā)幾個(gè)模塊就可以輕松的實(shí)現(xiàn)一個(gè)爬蟲,用來抓取網(wǎng)頁內(nèi)容以及各種圖片,非常之方便2021-11-11
python3.6 +tkinter GUI編程 實(shí)現(xiàn)界面化的文本處理工具(推薦)
這篇文章主要介紹了python3.6 +tkinter GUI編程 實(shí)現(xiàn)界面化的文本處理工具(推薦)的相關(guān)資料,需要的朋友可以參考下2017-12-12
Python Pandas批量讀取csv文件到dataframe的方法
這篇文章主要介紹了Python Pandas批量讀取csv文件到dataframe的方法,需要的朋友可以參考下2018-10-10

