Python利用matplotlib.pyplot.boxplot()绘制箱型图实例代码

 更新时间:2022年08月01日 15:39:14   作者:小羊快学  
相信大家应该都知道Python绘制箱线图主要用matplotlib库里pyplot模块里的boxplot()函数,下面这篇文章主要给大家介绍了关于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, # 指定要绘制箱线图的数据
    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()绘制箱型图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pytorch的batch normalize使用详解

    pytorch的batch normalize使用详解

    今天小编就为大家分享一篇pytorch的batch normalize使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python基于pygame实现的font游戏字体(附源码)

    Python基于pygame实现的font游戏字体(附源码)

    这篇文章主要介绍了Python基于pygame实现的font游戏字体,涉及Python响应键盘按键动态操作图片元素的相关技巧,需要的朋友可以参考下
    2015-11-11
  • Python之日期与时间处理模块(date和datetime)

    Python之日期与时间处理模块(date和datetime)

    这篇文章主要介绍了Python之日期与时间处理模块(date和datetime),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 使用SQLAlchemy操作数据库表过程解析

    使用SQLAlchemy操作数据库表过程解析

    这篇文章主要介绍了使用SQLAlchemy操作数据库表过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06
  • Python对象类型及其运算方法(详解)

    Python对象类型及其运算方法(详解)

    下面小编就为大家带来一篇Python对象类型及其运算方法(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • 利用Python实现sqlite3增删改查的封装

    利用Python实现sqlite3增删改查的封装

    在一些小的应用中,难免会用到数据库,Sqlite数据库以其小巧轻便,无需安装,移植性好著称,下面这篇文章主要给大家介绍了关于利用Python实现sqlite3增删改查的封装,需要的朋友可以参考下
    2021-12-12
  • 使用python itchat包爬取微信好友头像形成矩形头像集的方法

    使用python itchat包爬取微信好友头像形成矩形头像集的方法

    今天小编就为大家分享一篇使用python itchat包爬取微信好友头像形成矩形头像集的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • python生成指定长度的随机数密码

    python生成指定长度的随机数密码

    这篇文章主要介绍了python生成指定长度的随机密码示例,密码使用数字和字母组合,大家参考使用吧
    2014-01-01
  • Python cookbook(数据结构与算法)根据字段将记录分组操作示例

    Python cookbook(数据结构与算法)根据字段将记录分组操作示例

    这篇文章主要介绍了Python cookbook(数据结构与算法)根据字段将记录分组操作,结合实例形式分析了itertools.groupby()函数针对字典进行分组操作的相关实现技巧,需要的朋友可以参考下
    2018-03-03
  • Python 线程池模块之多线程操作代码

    Python 线程池模块之多线程操作代码

    最近在做一个爬虫相关的项目,单线程的整站爬虫,耗时真的不是一般的巨大,运行一次也是心累,所以,要想实现整站爬虫,多线程是不可避免的,那么python多线程又应该怎样实现呢?今天小编给大家分享下实现代码,感兴趣的朋友一起看看吧
    2021-05-05

最新评论