Python Matplotlib繪制箱型圖(箱線圖)boxplot的方法詳解
相較散點圖和折線圖,柱狀圖、餅圖、箱線圖(箱型圖)是另外 3 種數(shù)據(jù)分析常用的圖形,主要用于分析數(shù)據(jù)內部的分布狀態(tài)或分散狀態(tài)。其中箱線圖(箱型圖)的主要作用是發(fā)現(xiàn)數(shù)據(jù)內部整體的分布分散情況,包括上下限、各分位數(shù)、異常值。
與之前的可視化博客內容不同的是,這里我們需要先介紹一下箱線圖上各部位的含義:

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 | 設置箱體的屬性,如邊框色,填充色等 |
| whis | 指定上下須與上下四分位的距離 | labels | 為箱線圖添加標簽 |
| positions | 指定箱線圖的位置 | filerprops | 設置異常值的屬性 |
| widths | 指定箱線圖的寬度 | medianprops | 設置中位數(shù)的屬性 |
| patch_artist | 是否填充箱體的顏色; | meanprops | 設置均值的屬性 |
| meanline | 是否用線的形式表示均值 | capprops | 設置箱線圖頂端和末端線條的屬性 |
| showmeans | 是否顯示均值 | whiskerprops | 設置須的屬性 |
其他參數(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))#設置畫布的尺寸
plt.title('Examples of boxplot',fontsize=20)#標題,并設定字號大小
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))#設置畫布的尺寸
plt.title('Examples of boxplot',fontsize=20)#標題,并設定字號大小
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))#設置畫布的尺寸
plt.title('Examples of boxplot',fontsize=20)#標題,并設定字號大小
#notch:是否是凹口的形式展現(xiàn)箱線圖;sym:異常點的形狀;
plt.boxplot([box_1, box_2, box_3, box_4],notch = True,sym = '*')
plt.show()#顯示圖像
改變箱線圖的顏色
箱體邊框的顏色、箱體填充色
箱體色的設置需配合 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))#設置畫布的尺寸
plt.title('Examples of boxplot',fontsize=20)#標題,并設定字號大小
#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的方法詳解的詳細內容,更多關于Python Matplotlib箱型圖的資料請關注腳本之家其它相關文章!
相關文章
python實現(xiàn)字符串完美拆分split()的方法
今天小編就為大家分享一篇python實現(xiàn)字符串完美拆分split()的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
關于PySnooper 永遠不要使用print進行調試的問題
這篇文章主要介紹了關于PySnooper 永遠不要使用print進行調試的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03
python 遺傳算法求函數(shù)極值的實現(xiàn)代碼
今天小編就為大家分享一篇python 遺傳算法求函數(shù)極值的實現(xiàn)代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
python中的?sorted()函數(shù)和sort()方法區(qū)別
這篇文章主要介紹了python中的?sorted()函數(shù)和sort()方法,首先看sort()方法,sort方法只能對列表進行操作,而sorted可用于所有的可迭代對象。具體內容需要的小伙伴可以參考下面章節(jié)2022-02-02
python+PyQT實現(xiàn)系統(tǒng)桌面時鐘
這篇文章主要為大家詳細介紹了python+PyQT實現(xiàn)系統(tǒng)桌面時鐘,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-11-11

