python绘制箱线图boxplot()

article/2025/9/15 5:48:30

最近在处理数据时,需要使用python绘制箱线图。

1. 箱线图

箱线图(Box-plot)又称为盒式图或箱型图,是一种用来显示一组数据分散情况的统计图,它能显示一组数据的上界、下界、中位数、上下四分位数以及异常值等。

在这里插入图片描述

  1. 四分位数:就是把一组数据按照从小到大的顺序进行排列,然后分成四等份,处于三个分割点位置的数字就是四分位数;
  2. 第一四分位数(q1):又称“较小四分位数”或“下四分位数”,等于该样本中所有数值由小到大排列后第25%的数字,q1的位置 = 1+(n-1)x 0.25;
  3. 第二四分位数(q2):又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字,q2的位置= 1+(n-1)x 0.5;
  4. 第三四分位数(q3),又称“较大四分位数”或“上四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。q3的位置= 1+(n-1)x 0.75;
  5. 四分位间距(InterQuartile Range,IQR):第三四分位数与第一四分位数的差距(q3数据- q1数据);
  6. Whiske上限(大于该值即为异常值):q3数 + 1.5*IQR,(1.5表示超过的比例,是一个系数,可根据实际情况调整);
  7. Whisker下限(小于该值即为异常值):q1数 - 1.5*IQR。

2. Matplotlib中绘制箱线图的方法:boxplot

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):

参数说明:


x:指定要绘制箱线图的数据,可以是一组数据也可以是多组数据;
notch:是否以凹口的形式展现箱线图,默认非凹口;
sym:指定异常点的形状,默认为蓝色的+号显示;
vert:是否需要将箱线图垂直摆放,默认垂直摆放;
whis:指定上下须与上下四分位的距离,默认为1.5倍的四分位差;
positions:指定箱线图的位置,默认为range(1, N+1)N为箱线图的数量;
widths:指定箱线图的宽度,默认为0.5;
patch_artist:是否填充箱体的颜色,默认为False;
meanline:是否用线的形式表示均值,默认用点来表示;
showmeans:是否显示均值,默认不显示;
showcaps:是否显示箱线图顶端和末端的两条线,默认显示;
showbox:是否显示箱线图的箱体,默认显示;
showfliers:是否显示异常值,默认显示;
boxprops:设置箱体的属性,如边框色,填充色等;
labels:为箱线图添加标签,类似于图例的作用;
flierprops:设置异常值的属性,如异常点的形状、大小、填充色等;
medianprops:设置中位数的属性,如线的类型、粗细等;
meanprops:设置均值的属性,如点的大小、颜色等;
capprops:设置箱线图顶端和末端线条的属性,如颜色、粗细等;
whiskerprops:设置须的属性,如颜色、粗细、线的类型等;
manage_ticks:是否自适应标签位置,默认为True;
autorange:是否自动调整范围,默认为False

3. 绘制单个箱线图

labels = 'A'
data = [0.8685, 0.6671, 0.7971, 0.5774]
plt.grid(True)  # 显示网格
plt.boxplot(data,medianprops={'color': 'red', 'linewidth': '1.5'},meanline=True,showmeans=True,meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'},flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10},labels=labels)
plt.yticks(np.arange(0.4, 0.91, 0.1))
plt.show()

在这里插入图片描述在这里插入图片描述

4.绘制多个箱线图

labels = 'A', 'B', 'C', 'D', 'E', 'F'
A = [0.4978, 0.5764, 0.5073, 0.5609]
B = [0.5996, 0.65, 0.6251, 0.6473]
C = [0.6015, 0.687, 0.6237, 0.6761]
D = [0.5918, 0.6999, 0.6343, 0.6947]
E = [0.577, 0.6932, 0.6593, 0.7036]
F = [0.5637, 0.7161, 0.6683, 0.697]
plt.grid(True)  # 显示网格
plt.boxplot([A, B, C, D, E, F],medianprops={'color': 'red', 'linewidth': '1.5'},meanline=True,showmeans=True,meanprops={'color': 'blue', 'ls': '--', 'linewidth': '1.5'},flierprops={"marker": "o", "markerfacecolor": "red", "markersize": 10},labels=labels)
plt.yticks(np.arange(0.4, 0.81, 0.1))
plt.show()

在这里插入图片描述


http://chatgpt.dhexx.cn/article/GFRrsn0g.shtml

相关文章

boxplot

1. 简介 箱形图,又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。箱形图于1977年由美国著名统计学家约翰图基(John Tukey)发明。它能显示出一组数据的最大值、最小值、中位数、上下四分位数及…

Box plot (箱线图) 解读以及Python实现

因为最近论文有信息量很大的结果需要展示,如果用常用的折线图或者柱状图很难集中且全面的展示实验结果,和老板讨论之后了解到--箱线图这种神奇的图形展示方式。边学边用~记录在这里~也给有论文写作需要的小伙伴们一个参考~ 1. 什么是箱线图? 箱形图(Box-plot)又称为盒须…

箱线图(Boxplot)也称箱须图(Box-whisker Plot)

简述: 箱线图(Boxplot)也称箱须图(Box-whisker Plot),是利用数据中的五个统计量:最小值、第一四分位数、中位数、第三四分位数与最大值来描述数据的一种方法。它也可以粗略地看出数据是否具有有…

plt.boxplot()函数绘制箱图、常用方法及含义详解

1. 箱图含义 箱图是一中用于统计数据分布的统计图,也可以粗略地看出数据是否具有对称性,分布的分散程度等信息。箱图中的信息含义如下: 最下方的横线表示最小值最上方的横线表示最大值黑色空心圆圈表示异常值黑色实心圆圈表示极端值箱子由…

mysql查询between_MySQL查询数据过滤之BETWEEN操作符简介

BETWEEN运算符是一种逻辑运算符,判断指定值是否在范围内。 BETWEEN运算符的语法: expr [NOT] BETWEEN begin_expr AND end_expr; expr 是判断值是否在 begin_expr 和 end_expr 范围的内的表达式。 如果的值 expr大于或等于(> ) begin_expr &#x…

mysql 查询正在进行的事务

SELECT * FROM information_schema.innodb_trx字段解析 innodb_trx表: trx_id:事务ID。 trx_state:事务状态,有以下几种状态:RUNNING、LOCK WAIT、ROLLING BACK 和 COMMITTING。 trx_started:事务开始时间…

MySql 查询结果列拼接

MySql 查询结果列拼接 select concat( country,‘‘, province,’’, city,‘_’, store_properties) from wxshops

mysql 查询json字段

目录 json字段查询 字段格式 ​编辑查询: 注意: eg: json字段更新 json字段作为条件判断 代码: json字段判断(json字段中有[],需要判断就可以使用) 结果 json字段查询 字段格式 查询&#xff…

mysql查询表的内容_mysql查询表内容

一,说明:表名为student 1,查询某个表里的字段 select 字段名1,字段名1 form student; 例如:查询student中的sname select sname from student; 2,查询某个表里的字段(字段下面有重复的内容),并且显示的查询…

mysql查询排名

在MySQL中,不存在类似于SQL Server或Orcal等中的rank()函数来得到排名;所以我们需要手动地写这个rank功能。 基本知识: sql语句中,使用来定义一个变量。如:ranksql语句中,使用:来给变量赋值,:r…

MySQL 多种查询方法

这里写目录标题 查询1、单表查询1.选择表中的若干列2.选择表中的若干元组3.order by子句4.聚集函数5.group by分组 2、连接查询1、等值与非等值连接查询2、自身连接3、外连接4、多表连接 3、嵌套查询1、带有IN谓词的子查询2、带有比较运算符的子查询3、带有ANY或ALL谓词的子查询…

MySQL查询语句

一、基本查询 1、查询多个字段 SELECT 字段1,字段2,字段3... FROM 表名; SELECT * FROM 表名;2、设置别名 SELECT 字段1 [AS 别名1],字段2 [AS 别名2]... FROM 表名;3、去除重复记录 SELECT DISTINCT 字段列表 FROM 表名;1、查询指定字段name&#xf…

webpack面试题整理

文章目录 webpack 面试题整理 谈谈你对Webpack的理解Webpack的打包过程/打包原理/构建流程?Webpack中loader的作用/ loader是什么? 常见的loader有哪些? Plugin有什么作用?/Plugin是什么 常见的Plugin有哪些Webpack 插件的执行顺序…

WebPack面试题汇总

1,Webpack有什么作用,谈谈你对它的理解 现在的前端网页功能丰富,特别是SPA(single page web application 单页应用)技术流行后,JavaScript的复杂度增加和需要一大堆依赖包,还需要解决Scss、Les…

webpack的面试题(吐血整理)

以下为整理的webpack面试题,如有不足之处,还请大家多多指正。 一、webpack的构建流程 二、对webpack的理解 webpack是一个打包模块化js的工具,在webpack里一切文件皆模块,通过loader转换文件,通过plugin注入钩子&#…

webpack 面试题整理

文章目录 webpack 面试题整理谈谈你对Webpack的理解Webpack的打包过程/打包原理/构建流程?Webpack中loader的作用/ loader是什么?常见的loader有哪些? Plugin有什么作用?/Plugin是什么常见的Plugin有哪些Webpack 插件的执行顺序&a…

28道Webpack面试题及答案

1、webpack的作用是什么,谈谈你对它的理解? 现在的前端网页功能丰富,特别是SPA(single page web application 单页应用)技术流行后,JavaScript的复杂度增加和需要一大堆依赖包,还需要解决Scss&a…

程序员做自媒体变现,可以选择的平台有哪些?各自的特点是什么?

📚公众号:Python图书馆 (ID:python_library)整理:💻兆锋 利益相关:我是一个在做自媒体的Python程序员,个人全网同名自媒体:Python自动化办公社区 本文分享自己使用的几个平台,并分析…

5个免费的高质量的自媒体学习网站,你值得拥有

今天就和大家分享5个我私下一直在用的学习网站,有些平台知道的人还不多,希望大家高调收藏,低调使用。 1 易撰网 自媒体必备网站,不管你做的是哪个方面的自媒体。都可以利用这款强大的文章写作工具,其中包括爆文分析、…

自媒体影视解说项目详解

我见过很多老师写项目,但很少有人愿意完整、毫无保留地透露项目运作的细节。尤其注意事项和避坑细节。 欣慧在写项目上的观点是,要么不写,要么写得让人明白,不隐瞒。 今天给大家分享一个自媒体影视解说一个盈利项目,零成本认真执行,年收入10万没有问题。 2018年第一次注…