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