Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解
相較散點圖和折線圖,柱狀圖、餅圖、箱線圖(箱型圖)是另外 3 種數(shù)據(jù)分析常用的圖形,主要用于分析數(shù)據(jù)內(nèi)部的分布狀態(tài)或分散狀態(tài)。其中箱線圖(箱型圖)的主要作用是發(fā)現(xiàn)數(shù)據(jù)內(nèi)部整體的分布分散情況,包括上下限、各分位數(shù)、異常值。
與之前的可視化博客內(nèi)容不同的是,這里我們需要先介紹一下箱線圖上各部位的含義:
Matplotlib 中繪制箱線圖的函數(shù)為 boxplot () ,有兩種語法,如下:
常用語法:
matplotlib.pyplot.boxplot(x, notch=None, sym=None, vert=None, whis=None, positions=None, widths=None, patch_artist=None, bootstrap=None, usermedians=None, conf_intervals=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, manage_xticks=True, autorange=False, zorder=None, hold=None, data=None)
常用參數(shù)及說明:
參數(shù) | 說明 | 參數(shù) | 說明 |
---|---|---|---|
x | 指定要繪制箱線圖的數(shù)據(jù); | showcaps | 是否顯示箱線圖頂端和末端的兩條線 |
notch | 是否是凹口的形式展現(xiàn)箱線圖 | showbox | 是否顯示箱線圖的箱體 |
sym | 指定異常點的形狀 | showfliers | 是否顯示異常值 |
vert | 是否需要將箱線圖垂直擺放 | boxprops | 設(shè)置箱體的屬性,如邊框色,填充色等 |
whis | 指定上下須與上下四分位的距離 | labels | 為箱線圖添加標(biāo)簽 |
positions | 指定箱線圖的位置 | filerprops | 設(shè)置異常值的屬性 |
widths | 指定箱線圖的寬度 | medianprops | 設(shè)置中位數(shù)的屬性 |
patch_artist | 是否填充箱體的顏色; | meanprops | 設(shè)置均值的屬性 |
meanline | 是否用線的形式表示均值 | capprops | 設(shè)置箱線圖頂端和末端線條的屬性 |
showmeans | 是否顯示均值 | whiskerprops | 設(shè)置須的屬性 |
其他參數(shù)請參考文檔:https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.boxplot
只接收DataFrame的 boxplot () 語法:
DataFrame.boxplot(column=None, by=None, ax=None,showmeans=False, fontsize=None, rot=0, grid=True, figsize=None, layout=None, return_type=None, ...)
參數(shù) | 接收值 | 說明 | 默認值 |
---|---|---|---|
column | list | 指定要進行箱型圖分析的列 | 全部列 |
showmeans | bool | 是否顯示均值 | FALSE |
notch | bool | 是否是凹口的形式展現(xiàn)箱線圖 | FALSE |
patch_artist | bool | 是否填充箱體的顏色,若為true,則默認藍色 | FALSE |
grid | bool | 箱型圖網(wǎng)格線是否顯示 | TRUE |
vert | bool | 豎立箱型圖(True)/水平箱型圖(False) | TRUE |
sym | string | 指定異常點的形狀 | 0 |
基本用法
import pandas as pd import matplotlib.pyplot as plt #讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah'] plt.figure(figsize=(10,5))#設(shè)置畫布的尺寸 plt.title('Examples of boxplot',fontsize=20)#標(biāo)題,并設(shè)定字號大小 labels = 'Jay','JJ','Jolin','Hannah'#圖例 plt.boxplot([box_1, box_2, box_3, box_4], labels = labels)#grid=False:代表不顯示背景中的網(wǎng)格線 # data.boxplot()#畫箱型圖的另一種方法,參數(shù)較少,而且只接受dataframe,不常用 plt.show()#顯示圖像
水平箱線圖,顯示均值
import pandas as pd import matplotlib.pyplot as plt #讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah'] plt.figure(figsize=(10,5))#設(shè)置畫布的尺寸 plt.title('Examples of boxplot',fontsize=20)#標(biāo)題,并設(shè)定字號大小 labels = 'Jay','JJ','Jolin','Hannah'#圖例 #vert=False:水平箱線圖;showmeans=True:顯示均值 plt.boxplot([box_1, box_2, box_3, box_4], labels = labels, vert=False,showmeans=True ) plt.show()#顯示圖像
改變箱線圖的形狀
箱體的形狀notch、異常值的形狀sym
import pandas as pd import matplotlib.pyplot as plt #讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah'] plt.figure(figsize=(10,5))#設(shè)置畫布的尺寸 plt.title('Examples of boxplot',fontsize=20)#標(biāo)題,并設(shè)定字號大小 #notch:是否是凹口的形式展現(xiàn)箱線圖;sym:異常點的形狀; plt.boxplot([box_1, box_2, box_3, box_4],notch = True,sym = '*') plt.show()#顯示圖像
改變箱線圖的顏色
箱體邊框的顏色、箱體填充色
箱體色的設(shè)置需配合 patch_artist = True 使用
import pandas as pd import matplotlib.pyplot as plt #讀取數(shù)據(jù) datafile = u'D:\\pythondata\\learn\\matplotlib.xlsx' data = pd.read_excel(datafile) box_1, box_2, box_3, box_4 = data['收入_Jay'], data['收入_JJ'], data['收入_Jolin'], data['收入_Hannah'] plt.figure(figsize=(10,5))#設(shè)置畫布的尺寸 plt.title('Examples of boxplot',fontsize=20)#標(biāo)題,并設(shè)定字號大小 #boxprops:color箱體邊框色,facecolor箱體填充色; plt.boxplot([box_1, box_2, box_3, box_4],patch_artist = True, boxprops = {'color':'orangered','facecolor':'pink'}) plt.show()#顯示圖像
箱型圖的花哨用法并不常用,因此不多加贅述了。
以上就是Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解的詳細內(nèi)容,更多關(guān)于Python Matplotlib箱型圖的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python實現(xiàn)字符串完美拆分split()的方法
今天小編就為大家分享一篇python實現(xiàn)字符串完美拆分split()的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07關(guān)于PySnooper 永遠不要使用print進行調(diào)試的問題
這篇文章主要介紹了關(guān)于PySnooper 永遠不要使用print進行調(diào)試的問題,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03python 遺傳算法求函數(shù)極值的實現(xiàn)代碼
今天小編就為大家分享一篇python 遺傳算法求函數(shù)極值的實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python中的?sorted()函數(shù)和sort()方法區(qū)別
這篇文章主要介紹了python中的?sorted()函數(shù)和sort()方法,首先看sort()方法,sort方法只能對列表進行操作,而sorted可用于所有的可迭代對象。具體內(nèi)容需要的小伙伴可以參考下面章節(jié)2022-02-02python+PyQT實現(xiàn)系統(tǒng)桌面時鐘
這篇文章主要為大家詳細介紹了python+PyQT實現(xiàn)系統(tǒng)桌面時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11python學(xué)習(xí)手冊中的python多態(tài)示例代碼
多態(tài)是面向?qū)ο笳Z言的一個基本特性,多態(tài)意味著變量并不知道引用的對象是什么,根據(jù)引用對象的不同表現(xiàn)不同的行為方式,下面使用一個示例學(xué)習(xí)他的使用方法2014-01-01