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做誤差棒,效果如圖所示

如果反過來,那么效果會非常滑稽
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)行更高級的定制。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ù)中,凡是涉及顏色的,均支持單個顏色和顏色列表,據(jù)此可對每個數(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實(shí)現(xiàn)查找系統(tǒng)盤中需要找的字符
這篇文章主要介紹了Python實(shí)現(xiàn)查找系統(tǒng)盤中需要找的字符,涉及Python字符查找的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-07-07
GCN?圖神經(jīng)網(wǎng)絡(luò)使用詳解?可視化?Pytorch
這篇文章主要介紹了GCN?圖神經(jīng)網(wǎng)絡(luò)使用詳解?可視化?Pytorch,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
PyQt5+requests實(shí)現(xiàn)車票查詢工具
這篇文章主要為大家詳細(xì)介紹了PyQt5+requests實(shí)現(xiàn)車票查詢工具,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
windows中安裝Python3.8.0的實(shí)現(xiàn)方法
這篇文章主要介紹了windows中安裝Python3.8.0的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
Python實(shí)現(xiàn)提取Excel指定關(guān)鍵詞的行數(shù)據(jù)
這篇文章主要為大家介紹了如何利用Python實(shí)現(xiàn)提取Excel指定關(guān)鍵詞的行數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動手試一試2022-03-03
vscode搭建之python?Django環(huán)境配置方式
這篇文章主要介紹了vscode搭建之python?Django環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Python在實(shí)時數(shù)據(jù)流處理中集成Flink與Kafka
隨著大數(shù)據(jù)和實(shí)時計算的興起,實(shí)時數(shù)據(jù)流處理變得越來越重要,Flink和Kafka是實(shí)時數(shù)據(jù)流處理領(lǐng)域的兩個關(guān)鍵技術(shù),下面我們就來看看如何使用Python將Flink和Kafka集成在一起吧2025-03-03
圖文詳解Django使用Pycharm連接MySQL數(shù)據(jù)庫
這篇文章主要介紹了Django使用Pycharm連接MySQL數(shù)據(jù)庫的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-08-08

