Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解
目錄
基本用法??
水平箱線圖,顯示均值
改變箱線圖的形狀(箱體的形狀notch、異常值的形狀sym)
改變箱線圖的顏色(箱體邊框的顏色、箱體填充色)?
相較散點圖和折線圖,柱狀圖、餅圖、箱線圖(箱型圖)是另外 3 種數據分析常用的圖形,主要用于分析數據內部的分布狀態或分散狀態。其中箱線圖(箱型圖)的主要作用是發現數據內部整體的分布分散情況,包括上下限、各分位數、異常值。
與之前的可視化博客內容不同的是,這里我們需要先介紹一下箱線圖上各部位的含義:
Matplotlib 中繪制箱線圖的函數為 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)
常用參數及說明:?
| 參數 | 說明 | 參數 | 說明 |
| x | 指定要繪制箱線圖的數據; | showcaps | 是否顯示箱線圖頂端和末端的兩條線 |
| notch | 是否是凹口的形式展現箱線圖 | showbox | 是否顯示箱線圖的箱體 |
| sym | 指定異常點的形狀 | showfliers | 是否顯示異常值 |
| vert | 是否需要將箱線圖垂直擺放 | boxprops | 設置箱體的屬性,如邊框色,填充色等; |
| whis | 指定上下須與上下四分位的距離 | labels | 為箱線圖添加標簽 |
| positions | 指定箱線圖的位置 | filerprops | 設置異常值的屬性 |
| widths | 指定箱線圖的寬度 | medianprops | 設置中位數的屬性 |
| patch_artist | 是否填充箱體的顏色; | meanprops | 設置均值的屬性 |
| meanline | 是否用線的形式表示均值 | capprops | 設置箱線圖頂端和末端線條的屬性 |
| showmeans | 是否顯示均值 | whiskerprops | 設置須的屬性 |
其他參數請參考文檔: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,?...)
| 參數 | 接收值 | 說明 | 默認值 |
| column | list | 指定要進行箱型圖分析的列; | 全部列 |
| showmeans | bool | 是否顯示均值; | FALSE |
| notch | bool | 是否是凹口的形式展現箱線圖; | FALSE |
| patch_artist | bool | 是否填充箱體的顏色,若為true,則默認藍色; | FALSE |
| grid | bool | 箱型圖網格線是否顯示; | TRUE |
| vert? | bool | 豎立箱型圖(True)/水平箱型圖(False); | TRUE |
| sym | string | 指定異常點的形狀; | o |
?
基本用法??
import pandas as pd import matplotlib.pyplot as plt#讀取數據 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:代表不顯示背景中的網格線 # data.boxplot()#畫箱型圖的另一種方法,參數較少,而且只接受dataframe,不常用 plt.show()#顯示圖像水平箱線圖,顯示均值
import pandas as pd import matplotlib.pyplot as plt#讀取數據 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#讀取數據 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:是否是凹口的形式展現箱線圖;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#讀取數據 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()#顯示圖像?
箱型圖的花哨用法并不常用,因此不多加贅述了。?
總結
以上是生活随笔為你收集整理的Matplotlib - 箱线图、箱型图 boxplot () 所有用法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: angular 权限 php,PHP,A
- 下一篇: 怎么看表_干货 | 剪力墙、柱、板配筋率