matlab之绘制箱线图函数boxplot

一、功能

用箱线图可视化汇总统计量

二、语法

1.boxplot(x) 

创建 x 中数据的箱线图。如果 x 是向量,boxplot 绘制一个箱子。如果 x 是矩阵,boxplot 为 x 的每列绘制一个箱子。

在每个箱子上,中心标记表示中位数,箱子的底边和顶边分别表示第 25 个和 75 个百分位数。须线会延伸到不是离群值的最远端数据点,离群值会以 '+' 符号单独绘制

2.boxplot(x,g) 

使用 g 中包含的一个或多个分组变量创建箱线图。

boxplot 为具有相同的一个或多个 g 值的各组 x 值创建一个单独的箱子。

3.boxplot(ax,___) 

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

4.boxplot(___,Name,Value) 

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

三、示例

1.创建箱线图

创建一个表示每加仑英里数 (MPG) 测量值的箱线图。添加标题并为坐标区加标签。

load carsmall  % 加载样本数据
boxplot(MPG)
xlabel('All Vehicles')
ylabel('Miles per Gallon (MPG)')
title('Miles per Gallon for All Vehicles')

matlab之绘制箱线图函数boxplot_第1张图片

箱线图显示,样本数据中所有车辆的每加仑英里数的中位数约为 24 英里。最小值约为 9,最大值约为 44。

2.为分组数据创建箱线图

根据样本数据创建每加仑英里数 (MPG) 测量值的箱线图,按车辆的原产国 (Origin) 分组。添加标题并为坐标区加标签。

load carsmall  % 加载样本数据
boxplot(MPG,Origin)
title('Miles per Gallon by Vehicle Origin')
xlabel('Country of Origin')
ylabel('Miles per Gallon (MPG)')

matlab之绘制箱线图函数boxplot_第2张图片

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

3.创建带缺口的箱线图

生成两组样本数据。第一个样本 x1 包含从 mu = 5 和 sigma = 1 的正态分布生成的随机数。

第二个样本 x2 包含从 mu = 6 和 sigma = 1 的正态分布生成的随机数。

创建 x1 和 x2 的带缺口的箱线图。用对应的 mu 值对每个箱子加标签。

rng default  % For reproducibility
x1 = normrnd(5,1,100,1);
x2 = normrnd(6,1,100,1);

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

matlab之绘制箱线图函数boxplot_第3张图片

箱线图显示两个组的中位数之间的差值约为 1。由于箱线图中的缺口不重叠,可以有 95% 的置信度认为真实的中位数不同。

下图显示了相同数据的箱线图,其中最大须线长度指定为四分位差的 1.0 倍。须线以外的数据点使用 + 显示。

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

matlab之绘制箱线图函数boxplot_第4张图片

须线越短,boxplot 将越多的数据点显示为离群值。

4.创建紧凑箱线图

创建从标准正态分布生成的一个 100×25 随机数矩阵,用作样本数据。

在同一图上为 x 中的数据创建两个箱线图。顶部图使用默认格式,底部图使用紧凑格式。

rng default  % For reproducibility
x = randn(100,25);
figure

subplot(2,1,1)
boxplot(x)

subplot(2,1,2)
boxplot(x,'PlotStyle','compact')

matlab之绘制箱线图函数boxplot_第5张图片

每个图显示相同的数据,但紧凑格式可以提高具有多个箱子的图的可读性。

5.可变长度向量的箱线图

通过使用分组变量为不同长度的数据向量创建箱线图。

随机生成三个不同长度的列向量:长度分别为 510 和 15。将数据合并为一个长度为 30 的列向量。

创建一个分组变量,将同一值赋给 x 中来自于同一向量的行。例如,g 的前五行具有相同的值 First,因为 x 的前五行都来自同一个向量 x1

rng('default')  % For reproducibility
x1 = rand(5,1);
x2 = rand(10,1);
x3 = rand(15,1);
x = [x1; x2; x3];

g1 = repmat({'First'},5,1);
g2 = repmat({'Second'},10,1);
g3 = repmat({'Third'},15,1);
g = [g1; g2; g3];

boxplot(x,g)

matlab之绘制箱线图函数boxplot_第6张图片

你可能感兴趣的:(Matlab学习,matlab)