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

Python?Matplotlib繪制箱線圖boxplot()函數(shù)詳解

 更新時間:2022年07月13日 08:45:37   作者:上課不要睡覺了  
箱線圖一般用來展現(xiàn)數(shù)據(jù)的分布(如上下四分位值、中位數(shù)等),同時也可以用箱線圖來反映數(shù)據(jù)的異常情況,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪制箱線圖boxplot()函數(shù)的相關(guān)資料,需要的朋友可以參考下

箱線圖

箱線圖一般用來展現(xiàn)數(shù)據(jù)的分布,如上下四分位值、中位數(shù)等,也可以直觀地展示異常點。Matplotlib提供了boxplot()函數(shù)繪制箱線圖。

import matplotlib.pyplot as plt
_ = plt.boxplot(range(10))  # 10個數(shù),0-9
plt.show()

請?zhí)砑訄D片描述

箱線圖雖然看起來簡單,但包含的數(shù)據(jù)信息非常豐富。在上圖中,橙色的線條表示中位數(shù),中間條形的上下邊界分別對應(yīng)上四分位數(shù)(75%的數(shù)據(jù)都小于該值)與下四位分數(shù)(25%的數(shù)據(jù)小于該值),從條形延伸出兩條線段,兩條線段的終點表示數(shù)據(jù)的最大值最小值。

import numpy as np

print(np.median(np.arange(10)))  # 中位數(shù)
print(np.percentile(np.arange(10), 25))  # 下4分位數(shù),也叫第1分位數(shù)
print(np.percentile(np.arange(10), 75))  # 上4分位數(shù),也叫第3分位數(shù)
4.5
2.25
6.75

Process finished with exit code 0

boxplot()函數(shù)還提供了豐富的自定義選項

plt.boxplot(x, notch=None, sym=None, vert=None,
            whis=None, positions=None, widths=None,
            patch_artist=None, meanline=None, showmeans=None,
            showcaps=None, showbox=None, showfliers=None,
            boxprops=None, labels=None, flierprops=None,
            medianprops=None, meanprops=None,
            capprops=None, whiskerprops=None)

x :繪圖數(shù)據(jù)。

notch :是否以凹口的形式展現(xiàn)箱線圖,默認非凹口。

sym:指定異常點的形狀,默認為+號顯示。

vert :是否需要將箱線圖垂直放,默認垂直放。

whis :指定上下須與上下四分位的距離,默認為1.5倍的四分位差。

positions :指定箱線圖位置,默認為[0,1,2.…]。

widths :指定箱線圖寬度,默認為0.5。

patch _ artist :是否填充箱體的顏色。

meanline :是否用線的形式表示均值,默認用點表示。

showmeans :是否顯示均值,默認不顯示。

showcaps :是否顯示箱線圖頂端和末端兩條線,默認顯示。

showbox :是否顯示箱線圖的箱體,默認顯示。

showfliers :是否顯示異常值,默認顯示。

boxprops :設(shè)置箱體的屬性,如邊框色、填充色等。

labels :為箱線圖添加標簽,類似于圖例的作用。

filerprops :設(shè)置異常值的屬性,如異常點的形狀、大小、填充色等。

medianprops :設(shè)置中位數(shù)的屬性,如線的類型、粗細等。

meanprops :設(shè)置均值的屬性,如點的大小、顏色等。

capprops :設(shè)置箱線圖頂端和末端線條的屬性,如顏色、粗細等。

whiskerprops :設(shè)置須的屬性,如顏色、粗細、線的類型等。

箱線圖通常用在多組數(shù)據(jù)比較

下面代碼展示了3組簡單數(shù)據(jù)的箱線圖,添加凹口、均值點、顏色以及每組的標簽。

import matplotlib.pyplot as plt

a = plt.boxplot([range(10), range(20), range(30)],
                patch_artist=True,
                boxprops={'color': 'blue'},
                notch=True, showmeans=True,
                labels=['A', 'B', 'C'])
plt.show()

請?zhí)砑訄D片描述

補充:plt.boxplot()函數(shù)繪制箱圖、常用方法

實戰(zhàn)

def plt_box_iamge(df):
? ? """
? ? snrr的五個范圍為[5,10)、[10,15)、[15,20)、[20,30)、[30-),按照五個snrr范圍計算對應(yīng)redchi的箱圖
? ? :param df:包含snrr以及redchi的csv數(shù)據(jù)(dataFrame)。
? ? :return:
? ? """
?? ?# 根據(jù)snrr范圍對redchi進行篩選。
? ? df1 = df.loc[df['lam_snrr'] >= 5]
? ? redchi_1 = df1.loc[df1['lam_snrr'] < 10].redchi

? ? df2 = df.loc[df['lam_snrr'] >= 10]
? ? redchi_2 = df2.loc[df2['lam_snrr'] < 15].redchi

? ? df3 = df.loc[df['lam_snrr'] >= 15]
? ? redchi_3 = df3.loc[df3['lam_snrr'] < 20].redchi

? ? df4 = df.loc[df['lam_snrr'] >= 20]
? ? redchi_4 = df4.loc[df4['lam_snrr'] < 30].redchi

? ? redchi_5 = df.loc[df['lam_snrr'] >= 30].redchi
? ? # 繪圖
? ? ax = plt.subplot()
? ? ax.boxplot([redchi_1, redchi_2, redchi_3, redchi_4, redchi_5])
? ? # 設(shè)置軸坐標值刻度的標簽
? ? ax.set_xticklabels(['5<=snrr<10', '10<=snrr<15', '15<=snrr<20', '20<=snrr<30', '30<=snrr'], fontsize=8)
?? ?#?? ?保存圖片?
? ? plt.savefig('./images/box.jpg')
? ? plt.show()

if __name__ == '__main__':
? ? df = pd.read_csv('./inputfile/lamost6w_new.csv')
? ? df_sc = screening(df) ?# 篩選數(shù)據(jù) (lamost數(shù)據(jù)應(yīng)該在正常值范圍內(nèi),不然因為數(shù)值差過大會導(dǎo)致繪制不出圖像!)
? ? plt_box_iamge(df_sc)

常用方法

import matplotlib.pyplot as plt
import numpy as np

np.random.seed(100)
data = np.random.normal(size=(1000,4),loc=0,scale=1)

ax = plt.subplot()
ax.boxplot(data) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 繪圖
ax.set_xlim([0,5]) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? # 設(shè)置x軸值的范圍 ?rotation=30
# ax.set_xticks() ??? ??? ??? ??? ??? ??? ??? ? ? ? ?# 自定義x軸的值
ax.set_xlabel("xlabel") ? ? ? ? ? ? ? ? ?# 設(shè)置x軸的標簽
ax.set_xticklabels(['A','B','C','D'], ?rotation=30,fontsize=10) ? # 設(shè)置x軸坐標值的標簽 旋轉(zhuǎn)角度 字體大小
ax.set_title("xcy") ? ? ? ?? ??? ??? ??? ??? ? ?# 設(shè)置圖像標題
ax.legend(labels= ['A','B','C','D'],loc='best',) ?# 增加圖例
ax.text(x=0.2 , y=3.5 , s="test" ,fontsize=12) ? # 增加注

plt.show()

總結(jié) 

到此這篇關(guān)于Python Matplotlib繪制箱線圖boxplot()函數(shù)詳解的文章就介紹到這了,更多相關(guān)Matplotlib箱線圖boxplot()函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python可視化神器pyecharts繪制儀表盤

    Python可視化神器pyecharts繪制儀表盤

    這篇文章主要介紹了Python可視化神器pyecharts繪制儀表盤,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的朋友可以參考一下
    2022-07-07
  • Pytest參數(shù)化parametrize使用代碼實例

    Pytest參數(shù)化parametrize使用代碼實例

    這篇文章主要介紹了Pytest參數(shù)化parametrize使用代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • Python的f-string使用技巧

    Python的f-string使用技巧

    Python很早就引入了一種稱為 f-string 的字符串格式化方法,它代表格式化字符串字面值,本文主要介紹了Python的f-string使用技巧,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • python中for循環(huán)的多種使用實例

    python中for循環(huán)的多種使用實例

    for語句是Python中執(zhí)行迭代的兩個語句之一,另一個語句是while,下面這篇文章主要給大家介紹了關(guān)于python中for循環(huán)的多種使用方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • python中super().__init__()的用法

    python中super().__init__()的用法

    python里的super().__init__()有什么作用?很多同學(xué)沒有弄清楚。super()用來調(diào)用父類(基類)的方法,__init__()是類的構(gòu)造方法,感興趣的小伙伴可以參考閱讀本文
    2023-03-03
  • matplotlib在python上繪制3D散點圖實例詳解

    matplotlib在python上繪制3D散點圖實例詳解

    這篇文章主要介紹了matplotlib在python上繪制3D散點圖實例詳解,首先介紹了官網(wǎng)的實例,然后分享了本文簡單代碼示例,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • 淺談python的dataframe與series的創(chuàng)建方法

    淺談python的dataframe與series的創(chuàng)建方法

    今天小編就為大家分享一篇淺談python的dataframe與series的創(chuàng)建方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • Python調(diào)用系統(tǒng)底層API播放wav文件的方法

    Python調(diào)用系統(tǒng)底層API播放wav文件的方法

    這篇文章主要介紹了Python調(diào)用系統(tǒng)底層API播放wav文件的方法,涉及Python使用pywin32調(diào)用系統(tǒng)底層API讀取與播放wav文件的相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • 深入理解Python3 內(nèi)置函數(shù)大全

    深入理解Python3 內(nèi)置函數(shù)大全

    本篇文章主要介紹了Python3 內(nèi)置函數(shù),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • python 邊緣擴充方式的實現(xiàn)示例

    python 邊緣擴充方式的實現(xiàn)示例

    本文主要介紹了python 邊緣擴充方式的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03

最新評論