python繪制箱線圖boxplot()的教程詳解
最近在處理數(shù)據(jù)時,需要使用python繪制箱線圖。
1. 箱線圖
箱線圖(Box-plot)又稱為盒式圖或箱型圖,是一種用來顯示一組數(shù)據(jù)分散情況的統(tǒng)計圖,它能顯示一組數(shù)據(jù)的上界、下界、中位數(shù)、上下四分位數(shù)以及異常值等。
- 四分位數(shù):就是把一組數(shù)據(jù)按照從小到大的順序進行排列,然后分成四等份,處于三個分割點位置的數(shù)字就是四分位數(shù);
- 第一四分位數(shù)(q1):又稱“較小四分位數(shù)”或“下四分位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第25%的數(shù)字,q1的位置 = 1+(n-1)x 0.25;
- 第二四分位數(shù)(q2):又稱“中位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第50%的數(shù)字,q2的位置= 1+(n-1)x 0.5;
- 第三四分位數(shù)(q3),又稱“較大四分位數(shù)”或“上四分位數(shù)”,等于該樣本中所有數(shù)值由小到大排列后第75%的數(shù)字。q3的位置= 1+(n-1)x 0.75;
- 四分位間距(InterQuartile Range,IQR):第三四分位數(shù)與第一四分位數(shù)的差距(q3數(shù)據(jù)- q1數(shù)據(jù));
- Whiske上限(大于該值即為異常值):q3數(shù) + 1.5*IQR,(1.5表示超過的比例,是一個系數(shù),可根據(jù)實際情況調整);
- Whisker下限(小于該值即為異常值):q1數(shù) - 1.5*IQR。
2. Matplotlib中繪制箱線圖的方法:boxplot
boxplot函數(shù)說明:
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_ticks=True, autorange=False, zorder=None, *, data=None):
參數(shù)說明:
x:指定要繪制箱線圖的數(shù)據(jù),可以是一組數(shù)據(jù)也可以是多組數(shù)據(jù);
notch:是否以凹口的形式展現(xiàn)箱線圖,默認非凹口;
sym:指定異常點的形狀,默認為藍色的+號顯示;
vert:是否需要將箱線圖垂直擺放,默認垂直擺放;
whis:指定上下須與上下四分位的距離,默認為1.5倍的四分位差;
positions:指定箱線圖的位置,默認為range(1, N+1),N為箱線圖的數(shù)量;
widths:指定箱線圖的寬度,默認為0.5;
patch_artist:是否填充箱體的顏色,默認為False;
meanline:是否用線的形式表示均值,默認用點來表示;
showmeans:是否顯示均值,默認不顯示;
showcaps:是否顯示箱線圖頂端和末端的兩條線,默認顯示;
showbox:是否顯示箱線圖的箱體,默認顯示;
showfliers:是否顯示異常值,默認顯示;
boxprops:設置箱體的屬性,如邊框色,填充色等;
labels:為箱線圖添加標簽,類似于圖例的作用;
flierprops:設置異常值的屬性,如異常點的形狀、大小、填充色等;
medianprops:設置中位數(shù)的屬性,如線的類型、粗細等;
meanprops:設置均值的屬性,如點的大小、顏色等;
capprops:設置箱線圖頂端和末端線條的屬性,如顏色、粗細等;
whiskerprops:設置須的屬性,如顏色、粗細、線的類型等;
manage_ticks:是否自適應標簽位置,默認為True;
autorange:是否自動調整范圍,默認為False;
3. 繪制單個箱線圖
labels = 'A' data = [0.8685, 0.6671, 0.7971, 0.5774] plt.grid(True) # 顯示網(wǎng)格 plt.boxplot(data, medianprops={'color': 'red', 'linewidth': '1.5'}, meanline=True, showmeans=True, meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'}, flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10}, labels=labels) plt.yticks(np.arange(0.4, 0.91, 0.1)) plt.show()
4.繪制多個箱線圖
labels = 'A', 'B', 'C', 'D', 'E', 'F' A = [0.4978, 0.5764, 0.5073, 0.5609] B = [0.5996, 0.65, 0.6251, 0.6473] C = [0.6015, 0.687, 0.6237, 0.6761] D = [0.5918, 0.6999, 0.6343, 0.6947] E = [0.577, 0.6932, 0.6593, 0.7036] F = [0.5637, 0.7161, 0.6683, 0.697] plt.grid(True) # 顯示網(wǎng)格 plt.boxplot([A, B, C, D, E, F], medianprops={'color': 'red', 'linewidth': '1.5'}, meanline=True, showmeans=True, meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'}, flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10}, labels=labels) plt.yticks(np.arange(0.4, 0.81, 0.1)) plt.show()
以上就是python繪制箱線圖boxplot()的教程詳解的詳細內容,更多關于python繪制boxplot()的資料請關注腳本之家其它相關文章!
相關文章
Python+PyQt5實現(xiàn)美劇爬蟲可視工具的方法
這篇文章主要介紹了Python+PyQt5實現(xiàn)美劇爬蟲可視工具的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04python獲取Linux下文件版本信息、公司名和產(chǎn)品名的方法
這篇文章主要介紹了python獲取Linux下文件版本信息、公司名和產(chǎn)品名的方法,主要涉及了pefile模塊的用法,需要的朋友可以參考下2014-10-10DjangoRestFramework 使用 simpleJWT 登陸認證完整記錄
Djangorestframework-simplejwt是Django REST Framework框架的一個jwt插件,使用 python http 工具進行接口測試的方法文中給大家提到,重點給大家分享djangorestframework-simplejwt 使用記錄及登陸認證的完成過程,感興趣的朋友跟隨小編一起看看吧2021-06-06TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現(xiàn)
今天小編就為大家分享一篇TensorFlow通過文件名/文件夾名獲取標簽,并加入隊列的實現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02