一、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, # 指定要绘制箱线图的数据 notch=True or False, # 是否是凹口的形式展现箱线图,默认非凹口 sym, # str值,指定异常点的形状,默认为+号显示 vert=True or False, # 是否需要将箱线图垂直摆放,默认True垂直摆放 whis, # float值,指定上下须与上下四分位的距离,默认为1.5倍的四分位差 bootstrap, # int值,指定引导置信区间切口箱线图的中间位置 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, # 设置中位数的属性,如线的类型、粗细等; 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()
②各个参数绘制箱型图
(1)notch参数(bool值,是否凹口的形式展现箱线图,默认值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参数(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参数(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参数(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参数(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参数(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参数(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参数(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参数(设置箱体的属性,如边框色,填充色等)
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参数(设置异常值的属性,如异常点的形状、大小、填充色等)
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参数(设置中位数的属性,如线的类型、粗细等)
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参数(设置均值的属性)
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参数(设置箱线图顶端和末端线条的属性,如颜色、粗细等)
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参数(设置须的属性,如颜色、粗细、线的类型等)
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()绘制箱型图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!