最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用plt.boxplot()函數(shù)繪制箱圖、常用方法以及含義詳解

 更新時間:2022年08月12日 14:51:13   作者:xcy.小相  
箱線圖一般用來展現(xiàn)數(shù)據(jù)的分布,如上下四分位值、中位數(shù)等,也可以直觀地展示異常點(diǎn),下面這篇文章主要給大家介紹了關(guān)于Python使用plt.boxplot()函數(shù)繪制箱圖、常用方法以及含義詳解的相關(guān)資料,需要的朋友可以參考下

1. 箱圖含義

箱圖是一中用于統(tǒng)計數(shù)據(jù)分布的統(tǒng)計圖,也可以粗略地看出數(shù)據(jù)是否具有對稱性,分布的分散程度等信息。箱圖中的信息含義如下:

最下方的橫線表示最小值最上方的橫線表示最大值黑色空心圓圈表示異常值黑色實心圓圈表示極端值箱子由下四分位數(shù)、中值以及上四分位數(shù)組成

異常值又稱離群值,指大于1.5倍的四分位數(shù)間距的值。處于1.5倍~3倍四分位數(shù)間距的值用空心圓圈表示。極端值屬于異常值中的一種。
極端值是指大于3倍的四分位數(shù)間距的值。

2.計算方法

首先找出一組數(shù)據(jù)的五個特征值,包括除異常值外的最小值(minimum)和最大值(maximum)、中位數(shù)(median)、兩個四分位數(shù)(上四分位數(shù)Q1和下四分位Q3數(shù));

中位數(shù):將所有數(shù)值從小到大排列,如果是奇數(shù)個數(shù)值則取最中間一個值作為中位數(shù),之后最中間的值在計算Q1和Q3時不再使用;偶數(shù)個數(shù)值則取最中間兩個數(shù)的平均數(shù)作為中位數(shù),這兩個數(shù)在計算Q1和Q3時繼續(xù)使用。

Q1:中位數(shù)將所有數(shù)據(jù)分成兩部分,最小值到中位數(shù)的部分按取中位數(shù)的方法取中位數(shù)作為Q1。

Q3:同Q1取法,取中位數(shù)到最大值的中位數(shù)。

IQR(四分位數(shù)間距)=Q3-Q1。

所有不在(Q1-1.5IQR,Q3+1.5IQR)的區(qū)間內(nèi)的數(shù)為離群值,剩下的值最大的為最大值,最小的為最小值。

特征值(從下到上):最小值、Q1、中位數(shù)、Q3、最大值

將五個數(shù)值描繪在一個圖上,五個特征值在一個直線上,最小值和Q1連接起來,Q1、中位數(shù)、Q3分別作平行等長線段,
然后,連接兩個四分位數(shù)構(gòu)成箱子。

最后連接兩個極值點(diǎn)與箱子,形成箱式圖,然后點(diǎn)上離群值即可。

3.繪圖

3.1 繪制單個箱圖

import matplotlib.pyplot as plt
import numpy as np

#生成data數(shù)據(jù)
np.random.seed(100)
data = np.random.normal(size=(1000,),loc=0,scale=1)

# 繪圖
plt.boxplot(data)
plt.show()

3.2 繪制多個箱圖

import matplotlib.pyplot as plt
import numpy as np

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

plt.boxplot(data)

plt.show()

3.3實戰(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進(jìn)行篩選。
    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è)置軸坐標(biāo)值刻度的標(biāo)簽
    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)

3.3 參數(shù)詳解

plt.boxplot(x,                      # x:指定要繪制箱圖的數(shù)據(jù)
            notch=None,           # notch:是否是凹口的形式展現(xiàn)箱線圖,默認(rèn)非凹口
            sym=None,              # sym:指定異常點(diǎn)的形狀,默認(rèn)為+號顯示
            vert=None,              # vert:是否需要將箱線圖垂直擺放,默認(rèn)垂直擺放
            whis=None,             # whis:指定上下須與上下四分位的距離,默認(rèn)為1.5倍的四分位差
            positions=None,   # positions:指定箱線圖的位置,默認(rèn)為[0,1,2…]
            widths=None,         # widths:指定箱線圖的寬度,默認(rèn)為0.5
            patch_artist=None,        # patch_artist:是否填充箱體的顏色
            meanline=None,             # meanline:是否用線的形式表示均值,默認(rèn)用點(diǎn)來表示
            showmeans=None,       # showmeans:是否顯示均值,默認(rèn)不顯示
            showcaps=None,           # showcaps:是否顯示箱線圖頂端和末端的兩條線,默認(rèn)顯示
            showbox=None,             # showbox:是否顯示箱線圖的箱體,默認(rèn)顯示
            showfliers=None,          # showfliers:是否顯示異常值,默認(rèn)顯示
            boxprops=None,           # boxprops:設(shè)置箱體的屬性,如邊框色,填充色等
            labels=None,                  # labels:為箱線圖添加標(biāo)簽,類似于圖例的作用
            flierprops=None,          # filerprops:設(shè)置異常值的屬性,如異常點(diǎn)的形狀、大小、填充色等
            medianprops=None,   # medianprops:設(shè)置中位數(shù)的屬性,如線的類型、粗細(xì)等
            meanprops=None,       # meanprops:設(shè)置均值的屬性,如點(diǎn)的大小、顏色等
            capprops=None,           # capprops:設(shè)置箱線圖頂端和末端線條的屬性,如顏色、粗細(xì)等
            whiskerprops=None)   # whiskerprops:設(shè)置須的屬性,如顏色、粗細(xì)、線的類型等

3.4 常用方法

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軸的標(biāo)簽
ax.set_xticklabels(['A','B','C','D'],  rotation=30,fontsize=10)   # 設(shè)置x軸坐標(biāo)值的標(biāo)簽 旋轉(zhuǎn)角度 字體大小
ax.set_title("xcy")       					  # 設(shè)置圖像標(biāo)題
ax.legend(labels= ['A','B','C','D'],loc='best',)  # 增加圖例
ax.text(x=0.2 , y=3.5 , s="test" ,fontsize=12)   # 增加注

plt.show()

參考:
百度百科
matplotlib官方文檔

總結(jié) 

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

相關(guān)文章

  • pandas的resample重采樣的使用

    pandas的resample重采樣的使用

    這篇文章主要介紹了pandas的resample重采樣的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python網(wǎng)絡(luò)編程實戰(zhàn)之爬蟲技術(shù)入門與實踐

    Python網(wǎng)絡(luò)編程實戰(zhàn)之爬蟲技術(shù)入門與實踐

    這篇文章主要介紹了Python網(wǎng)絡(luò)編程實戰(zhàn)之爬蟲技術(shù)入門與實踐,了解這些基礎(chǔ)概念和原理將幫助您更好地理解網(wǎng)絡(luò)爬蟲的實現(xiàn)過程和技巧,需要的朋友可以參考下
    2023-04-04
  • python實現(xiàn)銀行賬戶系統(tǒng)

    python實現(xiàn)銀行賬戶系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)銀行賬戶系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-02-02
  • python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜

    python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜

    這篇文章主要介紹了python利用多線程+隊列技術(shù)爬取中介網(wǎng)互聯(lián)網(wǎng)網(wǎng)站排行榜,文章基于python的相關(guān)內(nèi)容展開詳細(xì)介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python命令行解析工具argparse模塊

    Python命令行解析工具argparse模塊

    這篇文章主要介紹了Python命令行解析工具argparse模塊,argparse模塊是一個python標(biāo)準(zhǔn)庫,它主要用于對用戶從客戶端輸入的命令進(jìn)行解析,這使得編寫用戶友好的命令行接口變得非常容易,需要的朋友可以參考下
    2023-05-05
  • GIt在pyCharm的詳細(xì)使用教程記錄

    GIt在pyCharm的詳細(xì)使用教程記錄

    使用git+pycharm有一段時間了,算是稍有點(diǎn)心得,所以下面這篇文章主要給大家介紹了關(guān)于GIt在pyCharm的詳細(xì)使用的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-02-02
  • Python中l(wèi)ogging.NullHandler 的使用教程

    Python中l(wèi)ogging.NullHandler 的使用教程

    這篇文章主要介紹了Python中l(wèi)ogging.NullHandler 的使用教程,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2018-11-11
  • 深入淺析NumPy庫中的numpy.diag()函數(shù)

    深入淺析NumPy庫中的numpy.diag()函數(shù)

    通過本文的介紹,我們深入了解了NumPy庫中numpy.diag()函數(shù)的用法和應(yīng)用,從基本用法到高級特性,再到在線性代數(shù)中的應(yīng)用,我們逐步展示了numpy.diag()在處理對角矩陣和相關(guān)問題時的強(qiáng)大功能,需要的朋友可以參考下
    2024-05-05
  • Python中方法鏈的使用方法

    Python中方法鏈的使用方法

    這篇文章主要為大家詳細(xì)介紹了Python中方法鏈的使用方法,方法鏈(method chaining)是面向?qū)ο蟮木幊陶Z言中的一種常見語法,對方法鏈感興趣的小伙伴們可以參考一下
    2016-02-02
  • 關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解

    關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解

    這篇文章主要介紹了關(guān)于python函數(shù)的建立、調(diào)用、傳參、返回值詳解,Python?還支持自定義函數(shù),即將一段有規(guī)律的、可重復(fù)使用的代碼定義成函數(shù),從而達(dá)到一次編寫多次調(diào)用的目的,需要的朋友可以參考下
    2023-07-07

最新評論

永善县| 长寿区| 修武县| 北碚区| 万山特区| 宁夏| 肃宁县| 大渡口区| 张家川| 永安市| 德江县| 丰宁| 大庆市| 郑州市| 临高县| 宣汉县| 岑巩县| 玉树县| 宁武县| 曲沃县| 阜城县| 武威市| 横山县| 工布江达县| 宾川县| 炉霍县| 射阳县| 原平市| 徐水县| 西林县| 丽水市| 康定县| 海城市| 旺苍县| SHOW| 峨边| 蒲江县| 收藏| 乐安县| 商洛市| 宁国市|