箱线图(boxplot)

news2024/11/17 16:39:27

箱线图 boxplot

  • 简述
  • 原理
  • 绘制方法
    • python - matplotlib
      • 加载功能模块
      • 加载数据
      • 绘制boxplot
    • python - seaborn
      • 加载功能模块
      • 加载数据
      • 绘制boxplot
    • R - ggplot
      • 加载功能模块
      • 加载数据
      • 绘制boxplot

简述

因图形形状如箱子而得名。箱线图常用于展示一组连续型数据的分散情况。学术界普遍认为,箱线图由美国数学家M.E.斯皮尔于1960年提出,由美国统计学家J.W.图基于1977年完善并正式发表。在后续的发展中,箱线图的绘制过程经历了一些重要调整。主要调整包括箱子的宽度,上下边缘的确定标准,异常值的标识方法等。

原理

箱线图利用一组数据的分位数信息进行数据展示。箱形图分为中心、延伸以及分布状态的全部范围。将一组数据从大到小排列,分别计算出这组数据的上边缘,四分之一分位数( Q 1 Q_1 Q1)、中位数( Q 2 Q_2 Q2)、四分之三分位数( Q 3 Q_3 Q3)、下边缘,有时还包括一个异常值。四分位距(interquantile range; IQR)是四分之三分位与四分之一分位数的差值, I Q R = Q 3 − Q 1 IQR=Q_3-Q_1 IQR=Q3Q1,主要反映连续型数据的离散程度。

绘制方法

在不同软件中,箱线图的绘制方法有微小差异,这里仅说明常见的箱线图的绘制方法。

  1. 先根据三个分位数 Q 1 Q_1 Q1 Q 2 Q_2 Q2 Q 3 Q_3 Q3画出中间的盒子。
  2. Q 3 Q_3 Q3 Q 1 − 1.5 × I Q R Q_1-1.5\times IQR Q11.5×IQR区间内的最大值向盒子的顶端连线,由 Q 1 Q_1 Q1 Q 1 − 1.5 × I Q R Q_1-1.5\times IQR Q11.5×IQR区间内的最小值向盒子的底部连线。
  3. 处于 Q 1 − 1.5 × I Q R Q_1-1.5\times IQR Q11.5×IQR Q 1 − 3 × I Q R Q_1-3\times IQR Q13×IQR或者 Q 3 + 1.5 × I Q R Q_3+1.5\times IQR Q3+1.5×IQR Q 3 + 3 × I Q R Q_3+3\times IQR Q3+3×IQR范围内的数据用圆点标出,称为离群值(outliers)。
  4. 大于 Q 3 + 3 × I Q R Q_3+3\times IQR Q3+3×IQR或者小于 Q 1 − 3 × I Q R Q_1-3\times IQR Q13×IQR的用星号标出,称为异常值(extremes)。

在这里插入图片描述

python - matplotlib

加载功能模块

import matplotlib.pyplot as plt
import pandas as pd

加载数据

# 加载数据集
from sklearn.datasets import load_iris

# 把数据集转换为一个DataFrame
data = load_iris()
df = pd.DataFrame(data=data.data,columns=data.feature_names)
df['target'] = data.target
df['target'] = df['target'].replace([0,1,2],['setosa', 'versicolor', 'virginica'])

绘制boxplot

# 设置画布大小
plt.figure(figsize=(8,6))
# 设置绘制的数据
plt.boxplot(df[df.columns[0:-1]])
# 设置图的标题
plt.title('Box plot')
# 设置X轴(横坐标轴)的显示内容
plt.xticks([1, 2, 3, 4],df.columns[0:-1] )
plt.show()

在这里插入图片描述

python - seaborn

加载功能模块

import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns

加载数据

# 加载数据集
from sklearn.datasets import load_iris

# 把数据集转换为一个DataFrame
data = load_iris()
df = pd.DataFrame(data=data.data,columns=data.feature_names)
df['target'] = data.target
df['target'] = df['target'].replace([0,1,2],['setosa', 'versicolor', 'virginica'])

绘制boxplot

# 设置绘制的数据
sns.boxplot(x='target', y = 'sepal length (cm)',data= df )
plt.show()

在这里插入图片描述

R - ggplot

加载功能模块

# 绘图包
library(ggplot2)
# 数据处理包
library(tidyverse)

加载数据

# 加载自带数据集
library(mpg)

# 删除数据中的空值
df <- mpg
df <- drop_na(df)

绘制boxplot

# 绘制箱线图
ggplot(mpg,aes(x=class,y=hwy,color=drv)) + 
  geom_boxplot()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1196924.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux AMH 服务器管理面板远程访问

文章目录 1. 前言2. Linux 安装AMH 面板3. 本地访问AMH 面板4. Linux安装Cpolar5. 配置AMH面板公网地址6. 远程访问AMH面板7. 固定AMH面板公网地址8、结语 1. 前言 AMH 是一款基于 Linux 系统的服务器管理面板&#xff0c;它提供了一系列的功能&#xff0c;包括网站管理、FTP …

第十八章 Swing 程序设计

目录 概述 Swing常用窗体 JFrame 窗体 JDialog 对话框 JOptionPane 小型对话框 1.自定义对话框 2.确认框 3.输入框 4.通知框 常用布局管理器 null绝对布局 FlowLayout 流布局管理器 BorderLayout 边界布局管理器 GridLayout 网络布局管理器 常用面板 JPa…

Linux RPM包安装、卸载和升级

我们以安装 apache 程序为例。因为后续章节还会介绍使用源码包的方式安装 apache 程序&#xff0c;读者可以直观地感受到源码包和 RPM 包的区别。 RPM包默认安装路径 通常情况下&#xff0c;RPM 包采用系统默认的安装路径&#xff0c;所有安装文件会按照类别分散安装到表 1 所…

Doris:多源数据目录(Multi-Catalog)

目录 1.基本概念 2.基本操作 2.1 查看 Catalog 2.2 新增 Catalog 2.3 切换 Catalog 2.4 删除 Catalog 3.元数据更新 3.1手动刷新 3.2定时刷新 3.3自动刷新 4.JDBC Catalog 4.1 上传mysql驱动包 4.2 创建mysql catalog 4.3. 读取mysql数据 1.基本概念 …

抖音小程序开发:探索技术创新的代码之旅

随着抖音小程序的兴起&#xff0c;企业纷纷将目光投向这个充满活力的平台。抖音小程序开发不仅为品牌提供了更广泛的曝光机会&#xff0c;更是技术创新的舞台。本文将带领读者深入探索抖音小程序开发的技术要点&#xff0c;探讨如何通过代码实现个性化、高效的小程序。 1. 小…

JavaScript从入门到精通系列第三十三篇:详解正则表达式语法(二)

文章目录 一&#xff1a;正则表达式 1&#xff1a; 检查一个字符串中是否有. 2&#xff1a;第二种关键表达 3&#xff1a;第三种关键表达 ​编辑4&#xff1a;第四种关键表达 5&#xff1a;第五种关键表达 6&#xff1a;第六种关键表达 二&#xff1a;核心表达二 1&am…

拓扑排序软件设计——ToplogicalSort_app(含有源码、需求分析、可行性分析、概要设计、用户使用手册)

拓扑排序软件设计 前言1. 需求分析2. 可行性分析2.1 简介2.2 技术可行性分析2.2.1 技术实现方案2.2.2 开发人员技能要求2.2.3 可行性 2.3 操作可行性分析2.4 结论 3. 项目报告3.1 修订历史记录3.2 软硬件环境3.3 需求分析3.4 详细设计3.4.1 类设计3.4.2 核心流程描述3.4.3 核心…

水果音乐编曲软件 FL Studio v21.1.1.3750 中文免费破解版下载(附中文设置教程)

FL studio21中文别名水果编曲软件&#xff0c;是一款全能的音乐制作软件&#xff0c;包括编曲、录音、剪辑和混音等诸多功能&#xff0c;让你的电脑编程一个全能的录音室&#xff0c;它为您提供了一个集成的开发环境&#xff0c;使用起来非常简单有效&#xff0c;您的工作会变得…

内网安全-基础设施构建-cobaltstrike远控工具beacon使用

kali在CS文件目录下&#xff0c;打开终端,运行命令&#xff1a; /teamserver 192.168.77.128 123456 在windows中双击bat文件&#xff1a; 填写图下信息&#xff1a; 双击运行&#xff0c;CS上线 自查方法&#xff1a;1、kali与物理机可互通 2、物理机与windows10跳板…

黑客技术-小白学习手册

一、黑客是什么 原是指热心于计算机技术&#xff0c;水平高超的电脑专家&#xff0c;尤其是程序设计人员。但后来&#xff0c;黑客一词已被用于泛指那些专门利用电脑网络搞破坏或者恶作剧的家伙。 二、学习黑客技术的原因 其实&#xff0c;网络信息空间安全已经成为海陆空之…

告别龟速,从GitHub快速下载项目的技巧分享,简单又高效!

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能AI、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推荐--…

【mysql】将逗号分割的字段内容转换为多行并group by

先说需求&#xff1a; 公司想让我通过mysql导出一个报表&#xff0c;内容为公司每个人参加会议的次数&#xff0c;现在有一个会议表fusion_meeting&#xff0c;正常的逻辑是通过人员直接group by就可以得出结果&#xff0c;但是我们的参会人是通过逗号分割这种方式存在一个字段…

Linux的命令——关于操作用户及用户组的命令

目录 1.Linux的命令格式 2.用户与用户组管理 2.1用户管理 添加用户 设置用户密码 删除用户 修改用户 2.2用户组管理 新增用户组 删除用户组 修改用户组属性 用户组切换 用户组管理 用户切换 1. su 2.sudo 1.Linux的命令格式 Linux系统中几乎所有操作&#xff0…

【Unity细节】Unity中如何让组件失活而不是物体失活

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 秩沅 原创 &#x1f636;‍&#x1f32b;️收录于专栏&#xff1a;unity细节和bug &#x1f636;‍&#x1f32b;️优质专栏 ⭐【…

基于springboot实现协同过滤算法商品推荐系统项目【项目源码】计算机毕业设计

基于springboot实现协同过滤算法商品推荐系统演示 Java语言简介 Java是由SUN公司推出&#xff0c;该公司于2010年被oracle公司收购。Java本是印度尼西亚的一个叫做爪洼岛的英文名称&#xff0c;也因此得来java是一杯正冒着热气咖啡的标识。Java语言在移动互联网的大背景下具备…

使用MybatisPlus时出现的java.lang.NullPointerException异常~

错误描述如下所示&#xff1a; 错误原因&#xff1a;Junit的导包错误 单元测试的包有如下所示两个 我们应该根据springboot的版本进行选择&#xff0c; 在Spring Boot 2.2.X以后使用import org.junit.jupiter.api.Test Junit5 在Spring Boot 2.2.x之前使用import org.junit.T…

U盘不可以访问的维护

u盘打不开&#xff0c;可按下图&#xff0c;设置&#xff1a;winR→gpedit.msc&#xff1b;配置“管理模板”→“系统”→“可移动存储访问”→“所有可移动存储类”。 然后&#xff0c;选择“未配置”&#xff0c;如下图

【Linux网络】系统调优之时间同步,搭建内网时间同步服务器

目录 一、时间同步是什么 二、时间同步实验 pc1的chrony配置修改&#xff1a; pc2和pc3时间同步配置一样 关于时间调整再同步回来&#xff1a;ntpdate命令 最后&#xff0c;再总结一下&#xff08;关于服务端口&#xff09;&#xff1a; 三、命令记录 一、时间同步是什…

大数据治理——为业务提供持续的、可度量的价值(一)

目录 大数据治理——为业务提供持续的、可度量的价值... 1 概述... 2 大数据治理系列... 2 第一部分&#xff1a;大数据治理统一流程模型概述和明确元数据管理策略... 2 第二部分&#xff1a;元数据集成体系结构... 15 第三部分&#xff1a;实施元数据管理... 25 第四部…

复杂度计算实例

1.常见时间复杂度计算举例 实例1 实例1基本操作执行了2N10次&#xff0c;通过推导大O阶方法知道&#xff0c;时间复杂度为 O(N) 实例2 实例2基本操作执行了MN次&#xff0c;有两个未知数M和N&#xff0c;时间复杂度为 O(NM) 实例3 实例3基本操作执行了100次&#xff0c;通过…