Matlab 绘制箱线图

发布时间:2024-03-06 17:01

文章目录

  • 前言
  • 一、箱线图介绍
  • 二、Matlab 绘制箱线图
  • 参考资料


前言

主要介绍箱线图(Box-plot)和利用Matlab绘制箱线图。

一、箱线图介绍

统计指标一般包括:四分位数、均值、中位数、众数、方差、标准差等,箱线图作为一种数据统计的方法,内容包括:最小值,第一分位,中位数,第三分位数,最大值
\"Matlab

箱线图于1977年由美国著名统计学家约翰·图基(John Tukey)发明,能够明确的展示离群点的信息,同时能够让我们了解数据是否对称,数据如何分组、数据的峰度。

箱线图(Box-plot)是一种用于显示一组数据分散情况的统计图,多用于多组数据的比较,相对于直方图,既可以节省空间,还可以展示更多信息(如均值、四分位数等)。

箱线图包含数学统计量,能够分析不同类别数据各层次水平差异,还可以揭示数据间离散程度、异常值、分布差异等。

箱线图内容详细介绍:
\"Matlab
【注】图片来自https://zhuanlan.zhihu.com/p/110580568?from_voters_page=true

四分位数:
一组数据按照从小到大顺序排列后,把该组数据四等分的数,称为四分位数。第一四分位数 (Q1)、第二四分位数 (Q2,也叫“中位数”)和第三四分位数 (Q3)分别等于该样本中所有数值由小到大排列后第25%、第50%和第75%的数字。第三四分位数与第一四分位数的差距又称四分位距(interquartile range, IQR)。

(1)第一个四分位数Q1:也称作25th百分位数,表示最小数(不是“最小值”)和数据集的中位数之间的中间数。

(2)第二四分位数Q2:也称作中位数Median/50th百分位数,表示数据集的中间值。

(3)第三四分位数Q3:也称作75th百分位数,表示数据集的中位数和最大值之间的中间值(不是“最大值”)。

(4)四分位间距IQR:第25至第75个百分点的距离。

(5)离群值:Outliers

(6)最大值max、最小值min

利用正态分布的箱线图,可以帮助理解箱线图:
\"Matlab
【注】图片来自https://zhuanlan.zhihu.com/p/110580568?from_voters_page=true

根据数据分布偏度这一度量,箱线图形状可以分为三类:
\"Matlab

  • 左偏:均值 < 中位数 < 众数
  • 对称:均值 = 中位数 = 众数
  • 右偏:众数 < 中位数 < 均值

【注】图片来自https://www.bilibili.com/video/BV1GJ41137UH?p=13

二、Matlab 绘制箱线图

【注】以下内容为MATLAB官方帮助文档。

Boxplot函数:用箱线图可视化汇总统计量。

语法:

boxplot(x) %创建 x 中数据的箱线图。如果 x 是向量,boxplot 绘制一个箱子。如果 x 是矩阵,boxplot 为 x 的每列绘制一个箱子。
%在每个箱子上,中心标记表示中位数,箱子的底边和顶边分别表示第 25 个和 75 个百分位数。须线会延伸到不是离群值的最远端数据点,离群值会以 \'+\' 符号单独绘制。

boxplot(x,g) % 使用 g 中包含的一个或多个分组变量创建箱线图。boxplot 为具有相同的一个或多个 g 值的各组 x 值创建一个单独的箱子。

boxplot(ax,___) %使用坐标区图形对象 ax 指定的坐标区和任何上述语法创建箱线图。

boxplot(___,Name,Value) %使用由一个或多个 Name,Value 对组参数指定的附加选项创建箱线图。例如,可以指定箱子样式或顺序。

参数:

  • x输入数据
    在boxplot(x,g)中,x是输入数据,可以是数值向量(绘制一个箱子)或数值矩阵(为x的每列绘制一个箱子)。在每个箱子上,中心标记表示中位数,箱子的底边和顶边分别表示第25个和第75个百分位数。虚线会延伸到不是离散值的最远的端点,离散值会以‘+’符号单独绘制。

  • g分组变量
    分组变量g指定为数值向量、字符数组、字符串数组、元胞数组或分类数组。分组变量中包含缺失值 (NaN)、空字符向量、空值或 字符串或 值的组将被忽略,并且不会计入其他参数考虑的组数中。

  • 图形属性参数
    函数表达式:boxplot(x,Name,Value)。请查阅Matlab中boxplot函数的文档介绍,常用箱子外观属性整理:
    \"Matlab

绘制箱线图:

创建箱线图过程:

load carsmall %加载数据

%根据样本数据创建每加仑英里数 (MPG) 测量值的箱线图,按车辆的原产国 (Origin) 分组。添加标题并为坐标区加标签。
boxplot(MPG,Origin)
title(\'Miles per Gallon by Vehicle Origin\')
xlabel(\'Country of Origin\')
ylabel(\'Miles per Gallon (MPG)\')

\"Matlab
每个箱子直观地表示来自指定国家/地区的汽车的 MPG 数据。意大利的“箱子”显示为一条线,因为样本数据只包含该组的一个观测值。

修改图形属性参数:
如绘制带有缺口的箱线图:

1)生成两组样本数据

rng default  % rng函数控制随机数生成
x1 = normrnd(5,1,100,1);% x1 包含从 mu = 5 和 sigma = 1 的正态分布生成的随机数
x2 = normrnd(6,1,100,1);% x2 包含从 mu = 6 和 sigma = 1 的正态分布生成的随机数

2)创建x1和x2的带缺口的箱线图

figure
boxplot([x1,x2],\'Notch\',\'on\',\'Labels\',{\'mu = 5\',\'mu = 6\'})
title(\'Compare Random Data from Different Distributions\')

\"Matlab
3)修改属性值:boxplot([x1,x2],\'Notch\',\'marker\',\'Labels\',{\'mu = 5\',\'mu = 6\'})
\"Matlab
根据需求可以在MATLAB官方文档进行查看与修改属性。

参考资料

箱线图:https://blog.csdn.net/symoriaty/article/details/93978817

如何深刻理解箱线图(boxplot):https://zhuanlan.zhihu.com/p/110580568?from_voters_page=true

MATLAB教学-统计:https://www.bilibili.com/video/BV1GJ41137UH?p=13

MATLAB官方文档:https://www.mathworks.com/matlabcentral/fileexchange/51134-boxplot?s_tid=srchtitle

Matlab中boxplot函数的用法:https://blog.csdn.net/JiangHui1211/article/details/85049597

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号