Python利用matplotlib.pyplot.boxplot()繪制箱型圖實例代碼
一、matplotlib.pyplot.boxplot()語法
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)
plt.boxplot( x, # 指定要繪制箱線圖的數(shù)據(jù) notch=True or False, # 是否是凹口的形式展現(xiàn)箱線圖,默認非凹口 sym, # str值,指定異常點的形狀,默認為+號顯示 vert=True or False, # 是否需要將箱線圖垂直擺放,默認True垂直擺放 whis, # float值,指定上下須與上下四分位的距離,默認為1.5倍的四分位差 bootstrap, # int值,指定引導置信區(qū)間切口箱線圖的中間位置 positions, # 指定箱線圖的位置 默認為[0,1,2…] widths, # 指定箱線圖的寬度,默認值:0.5 patch_artist=True or False, # 是否填充箱體的顏色 默認值False不填充 labels, # 為箱線圖添加標簽,類似于圖例的作用 manage_ticks=True or False, # 如果為True,刻度位置和標簽將被調整為匹配箱線圖的位置。默認值:True showmeans=True or False, # 是否顯示均值,默認值:False不顯示 meanline=True or False, # 是否用線的形式表示均值,默認值False用點來表示 zorder, # 箱線圖的順序 showcaps=True or False, # 是否顯示箱線圖頂端和末端的兩條線,默認值True顯示 showbox=True or False, # 是否顯示箱線圖的箱體,默認值True顯示; showfliers=True or False, # 是否顯示異常值,默認值True顯示; boxprops, # 設置箱體的屬性,如邊框色,填充色等; flierprops, # 設置異常值的屬性,如異常點的形狀、大小、填充色等; medianprops, # 設置中位數(shù)的屬性,如線的類型、粗細等; meanprops, # 設置均值的屬性,如點的大小、顏色等; capprops, # 設置箱線圖頂端和末端線條的屬性,如顏色、粗細等; whiskerprops,# 設置胡須的屬性,如顏色、粗細、線的類型等 )
二、繪制箱型圖
①繪制簡單箱型圖
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data) plt.show()
②各個參數(shù)繪制箱型圖
(1)notch參數(shù)(bool值,是否凹口的形式展現(xiàn)箱線圖,默認值False非凹口)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # notch=True凹口的形式 ax1=fig.add_subplot(121) plt.boxplot(data,notch=True) plt.title('凹口的形式',size=20) # notch=False非凹口的形式 ax2=fig.add_subplot(122) plt.boxplot(data,notch=False) plt.title('非凹口的形式',size=20) plt.show()
(2)sym(str,指定異常點的形狀,默認為+號顯示)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data,sym='^') plt.show()
(3)vert參數(shù)(bool值,是否需要將箱線圖垂直擺放,默認True垂直擺放)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # vert=True箱型圖垂直擺放 ax1=fig.add_subplot(121) plt.boxplot(data,vert=True) plt.title('垂直擺放',size=20) # vert=False箱型圖水平擺放 ax2=fig.add_subplot(122) plt.boxplot(data,vert=False) plt.title('水平擺放',size=20) plt.show()
(4)widths參數(shù)(float值,指定箱線圖的寬度,默認值:0.5)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data,widths=[0.3,0.6,0.5]) plt.show()
(5)patch_artist(bool值,是否填充箱體顏色,默認值:False不填充)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # patch_artist=True填充箱體顏色 ax1=fig.add_subplot(121) plt.boxplot(data,patch_artist=True) plt.title('填充箱體顏色',size=20) # patch_artist=False不填充箱體顏色 ax2=fig.add_subplot(122) plt.boxplot(data,patch_artist=False) plt.title('不填充箱體顏色',size=20) plt.show()
(6)showmeans參數(shù)(bool值,是否顯示均值,默認值False不顯示)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # showmeans=True顯示均值 ax1=fig.add_subplot(121) plt.boxplot(data,showmeans=True) plt.title('顯示均值',size=20) # showmeans=False不顯示均值 ax2=fig.add_subplot(122) plt.boxplot(data,showmeans=False) plt.title('不顯示均值',size=20) plt.show()
(7)meanline參數(shù)(bool值,是否用線的形式表示均值,默認值False用點來表示)
注意:只有當showmeans=True時(顯示均值時),才看得見效果。
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # meanline=True用線顯示均值 ax1=fig.add_subplot(121) plt.boxplot(data,showmeans=True,meanline=True) plt.title('用線顯示均值',size=20) # meanline=False用點顯示均值 ax2=fig.add_subplot(122) plt.boxplot(data,showmeans=True,meanline=False) plt.title('用點顯示均值',size=20) plt.show()
(8)showcaps參數(shù)(bool值,是否顯示箱線圖頂端和末端的兩條線,默認值True顯示)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # showcaps=True顯示箱線圖頂端和末端的兩條線 ax1=fig.add_subplot(121) plt.boxplot(data,showcaps=True) plt.title('顯示',size=20) # showcaps=False不顯示箱線圖頂端和末端的兩條線 ax2=fig.add_subplot(122) plt.boxplot(data,showcaps=False) plt.title('不顯示',size=20) plt.show()
(9)showbox參數(shù)(bool值,是否顯示箱線圖的箱體,默認值True顯示)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # showbox=True顯示箱線圖的箱體 ax1=fig.add_subplot(121) plt.boxplot(data,showbox=True) plt.title('顯示',size=20) # showbox=False不顯示箱線圖的箱體 ax2=fig.add_subplot(122) plt.boxplot(data,showbox=False) plt.title('不顯示',size=20) plt.show()
(10)showfliers參數(shù)(bool值,是否顯示異常值,默認值True顯示)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # showfliers=True顯示異常值 ax1=fig.add_subplot(121) plt.boxplot(data,showfliers=True) plt.title('顯示',size=20) # showfliers=False不顯示異常值 ax2=fig.add_subplot(122) plt.boxplot(data,showfliers=False) plt.title('不顯示',size=20) plt.show()
(11)boxprops參數(shù)(設置箱體的屬性,如邊框色,填充色等)
import matplotlib.pyplot as plt data=[np.random.normal(0,std,100) for std in range(1,4)] fig=plt.figure() # sboxprops={'color':'r'} 設置箱體邊框色 ax1=fig.add_subplot(121) plt.boxplot(data,boxprops={'color':'r'}) plt.title('設置箱體邊框色',size=20) # patch_artist=True 填充箱體顏色 # boxprops={'facecolor':'pink'}設置箱體填充色 ax2=fig.add_subplot(122) plt.boxplot(data,patch_artist=True,boxprops={'facecolor':'pink'}) plt.title('設置箱體填充色',size=20) plt.show()
(12) flierprops參數(shù)(設置異常值的屬性,如異常點的形狀、大小、填充色等)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data,flierprops={'marker':'*'}) plt.show()
(13)medianprops參數(shù)(設置中位數(shù)的屬性,如線的類型、粗細等)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data,medianprops={'linestyle':':','linewidth':5,'color':'m'}) plt.show()
(14)meanprops參數(shù)(設置均值的屬性)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data,showmeans=True,meanprops={'marker':'*'}) plt.show()
(15)capprops參數(shù)(設置箱線圖頂端和末端線條的屬性,如顏色、粗細等)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data, showmeans=True, capprops={'linestyle':'--','color':'m','linewidth':3}) plt.show()
(16)whiskerprops參數(shù)(設置須的屬性,如顏色、粗細、線的類型等)
import matplotlib.pyplot as plt import numpy as np data=[np.random.normal(0,std,100) for std in range(1,4)] plt.boxplot(data, showmeans=True, whiskerprops={'linestyle':'--','color':'m','linewidth':3}) plt.show()
總結
到此這篇關于Python利用matplotlib.pyplot.boxplot()繪制箱型圖的文章就介紹到這了,更多相關matplotlib.pyplot.boxplot()繪制箱型圖內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python基于pygame實現(xiàn)的font游戲字體(附源碼)
這篇文章主要介紹了Python基于pygame實現(xiàn)的font游戲字體,涉及Python響應鍵盤按鍵動態(tài)操作圖片元素的相關技巧,需要的朋友可以參考下2015-11-11Python之日期與時間處理模塊(date和datetime)
這篇文章主要介紹了Python之日期與時間處理模塊(date和datetime),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-02-02使用SQLAlchemy操作數(shù)據(jù)庫表過程解析
這篇文章主要介紹了使用SQLAlchemy操作數(shù)據(jù)庫表過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06利用Python實現(xiàn)sqlite3增刪改查的封裝
在一些小的應用中,難免會用到數(shù)據(jù)庫,Sqlite數(shù)據(jù)庫以其小巧輕便,無需安裝,移植性好著稱,下面這篇文章主要給大家介紹了關于利用Python實現(xiàn)sqlite3增刪改查的封裝,需要的朋友可以參考下2021-12-12使用python itchat包爬取微信好友頭像形成矩形頭像集的方法
今天小編就為大家分享一篇使用python itchat包爬取微信好友頭像形成矩形頭像集的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02Python cookbook(數(shù)據(jù)結構與算法)根據(jù)字段將記錄分組操作示例
這篇文章主要介紹了Python cookbook(數(shù)據(jù)結構與算法)根據(jù)字段將記錄分組操作,結合實例形式分析了itertools.groupby()函數(shù)針對字典進行分組操作的相關實現(xiàn)技巧,需要的朋友可以參考下2018-03-03