主要内容

boxchart

箱形图(箱形图)

描述

例子

boxchart (ydata为矩阵的每一列创建箱形图或箱形图ydata.如果ydata是向量吗boxchart创建单个框状图。

每个箱形图显示以下信息:中值、下四分位数和上四分位数、任何异常值(使用四分位数范围计算)以及非异常值的最小值和最大值。有关更多信息,请参见箱形图(箱形图)

例子

boxchart (xgroupdataydata对向量中的数据进行分组ydata根据中的唯一值xgroupdata并将每组数据绘制成单独的箱形图。xgroupdata确定每个箱形图沿的位置x设在。ydata一定是向量,然后xgroupdata长度必须和ydata

例子

boxchart (___“GroupByColor”,cgroupdata使用颜色来区分箱形图。软件将数据按矢量分组ydata根据唯一的值组合在xgroupdata(如指定)及cgroupdata,并将每组数据绘制为单独的箱形图。向量cgroupdata然后确定每个箱形图的颜色。ydata一定是向量,然后cgroupdata长度必须和ydata.指定“GroupByColor”前面语法中任何输入参数组合后的名称-值对参数。

例子

boxchart (___名称,值使用一个或多个名称-值对参数指定其他图表选项。例如,您可以通过指定使用缺口来比较样本中位数“缺口”,“上”.在所有其他输入参数之后指定名称-值对参数。有关属性列表,请参见BoxChart属性

例子

boxchart (斧头___所指定的轴斧头而不是进入当前轴(gca).这个论点斧头可以放在前面语法中任何输入参数组合的前面。

例子

b= boxchart (___返回BoxChart对象。如果您没有指定cgroupdata,然后b包含一个对象。如果您指定了它,那么b包含一个对象向量,其中的每个唯一值对应一个对象cgroupdata.使用b在创建框状图后设置它们的属性。有关属性列表,请参见BoxChart属性

例子

全部折叠

从年龄矢量中创建一个单一的方框图。用箱形图来可视化年龄分布。

加载病人数据集。的年龄变量包含100名患者的年龄。创建一个框图来可视化年龄分布。

负载病人boxchart(年龄)ylabel (的年龄(年)

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

患者年龄中位数为39岁,如框内的线所示。32年和44年的下四分位数和上四分位数分别显示在方框的底部和顶部边缘。胡须,或延伸到盒子下面和上面的线,有端点对应最年轻和最年长的患者。最小的患者25岁,最大的50岁。数据集不包含异常值,异常值用小圆圈表示。

您可以使用数据提示来获得数据统计信息的摘要。将鼠标悬停在方框图上可查看数据提示。

使用箱形图来比较一个魔方的列和行值的分布。

创建一个10行10列的魔方。

Y =魔术(10)
Y =10×1092 99 74 67 15 51 58 40 98 80 7 14 16 73 55 57 64 41 4 81 88 70 22 54 56 63 47 60 62 69 71 85 87 19 21 28 86 93 25 2 9 61 68 24 76 83 90 75 52 34 17 42 49 26 33 65 23 5 82 89 91 48 30 32 39 66 79 6 13 95 97 29 72年38 45 31日10 12 94 96 78 35 37 44 46 53 11 18 100 77 84 36 43 50 27 59

为魔方的每一列创建一个箱形图。每一列都有一个相似的中值(大约50).但是,前五列的Y的后五列有更大的四分位数范围Y.四分位数范围是上四分位数(方框的上边缘)和下四分位数(方框的下边缘)之间的距离。

boxchart (Y)包含(“列”) ylabel (“价值”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

为魔方的每一行创建一个方框图。每一行都有相似的四分位范围,但行之间的中值不同。

boxchart (Y)包含(“行”) ylabel (“价值”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

根据地震发生的月份把地震的震级画出来。使用地震震级矢量和表示每次地震发生月份的分组变量。对于每组数据,创建一个箱形图,并将其放置在图的指定位置x设在。

将一组海啸数据作为表读入工作区。该数据集包括有关地震以及海啸的其他原因的信息。显示前八行,显示表格的月份、原因和地震震级列。

海啸=可读(“tsunamis.xlsx”);海啸(1:8,(“月”“原因”“EarthquakeMagnitude”])
ans =8×3表月事业EarthquakeMagnitude  _____ __________________ ___________________ 10{‘地震’}7.6 8 6.9{‘地震’}12{“火山”}南3 8.1{‘地震’}{‘地震’}4.5 5{“气象”}南11{‘地震’}9 3{‘地震’}5.8

创建表地震,其中包含地震引起的海啸的数据。

独特的(tsunamis.Cause)
ans =8 x1细胞{0x0字符}{“地震”}{“地震和滑坡”}{“滑坡”}{“气象”}{“原因不明”}{“火山”}{“火山和滑坡”}
Idx =包含(海啸。原因,“地震”);地震=海啸(id,:);

根据海啸发生的月份将地震震级分组。对于每个月,显示一个单独的方框图。例如,boxchart使用第4、第5和第8级地震震级以及其他震级来创建第三个箱形图,它对应于第三个月。

boxchart (earthquakes.Month earthquakes.EarthquakeMagnitude)包含(“月”) ylabel (“地震震级”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

注意,因为月份值是数字,所以x-axis标尺也是数字。

如需更具描述性的月份名称,请将地震。月列到分类变量。

monthOrder = [“1月”“2月”“3”“4月”“可能”“君”“7”...“8月”“9”“10月”“11月”“12月”];namedMonths = categorical(earthquake . month,1:12,monthOrder);

创建与前面相同的方框图,但使用分类变量namedMonths而不是数字月份值。的x-轴标尺现在是分类的,类别的顺序在namedMonths确定方框图的顺序。

boxchart (namedMonths earthquakes.EarthquakeMagnitude)包含(“月”) ylabel (“地震震级”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

根据患者的年龄对其进行分组,并为每个年龄组创建一张舒张压值的箱形图。

加载病人数据集。的年龄而且舒张压变量包括100例患者的年龄和舒张压水平。

负载病人

把病人分成5个年龄组。找出最小年龄和最大年龄,然后将它们之间的范围划分为5年。中的值进行Bin年龄变量,使用离散化函数。中使用bin名称垃圾箱.由此产生的化零为整的变量是a分类变量。

分钟(年龄)
Ans = 25
马克斯(年龄)
Ans = 50
binEdges = 25:5:50;bin = {20年代末的30岁出头的30年代末的“40年代”“40年代末+”};groupAge =离散化(年龄,binEdges,“分类”箱);

为每个年龄组制作一个框图。每个箱形图显示该组患者的舒张压值。

boxchart(化零为整的舒张压)包含(“年龄”) ylabel (“舒张压”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

使用两个分组变量对数据进行分组,并对结果框状图进行定位和着色。

加载示例文件TemperatureData.csv,其中包含2015年1月至2016年7月的平均日气温。将文件读入表。

可读的(“TemperatureData.csv”);

转换资源描述。月变量到a分类变量。指定类别的顺序。

monthOrder = {“1月”“2”“3”“4”“可能”“6月”“7”...“八月”“9”“十月”11月的12月的};资源描述。Month = categorical(tbl.Month,monthOrder);

创建框图,显示每年每个月的温度分布。指定资源描述。月作为位置分组变量。指定资源描述。一年作为颜色分组变量“GroupByColor”名称-值对参数。请注意,资源描述不包含2016年某些月份的数据。

boxchart (tbl.Month tbl.TemperatureF,“GroupByColor”tbl.Year) ylabel (“温度(F)”传说)

图中包含一个轴对象。axis对象包含2个boxchart类型的对象。这些物体代表了2015年,2016年。

在这个图中,您可以很容易地比较一个特定月份在多年间的温度分布。例如,你可以看到2016年2月的气温变化比2015年大得多。

创建箱形图,并使用抓住

加载病人数据集。转换SelfAssessedHealthStatus一个序数分类变量,因为类别可怜的公平,优秀的有一个自然的顺序。

负载病人healthOrder = {“可怜的”“公平”‘好’“优秀”};SelfAssessedHealthStatus = categorical(SelfAssessedHealthStatus,...healthOrder,“顺序”,真正的);

根据患者自我评估的健康状况进行分组,求出每组患者的平均体重。

meanWeight = groupsummary(Weight,SelfAssessedHealthStatus,“的意思是”);

用箱形图比较各组患者的体重。在方框图上画出平均权重。

boxchart (SelfAssessedHealthStatus、重量)情节(meanWeight“o”)举行传奇([“重量数据”“体重意味着“])

图中包含一个轴对象。axis对象包含boxchart、line类型的2个对象。这些对象表示权重数据,权重平均值。

使用缺口来确定中值之间是否有显著差异。

加载病人数据集。根据病人的位置把他们分开。对于每组患者,创建一个他们体重的方框图。指定“缺口”,“上”因此,每个方框都包含一个锥形阴影区域,称为缺口。凹槽不重叠的箱形图在5%显著性水平上有不同的中位数。

负载病人boxchart(分类(位置)、重量、“缺口”“上”) ylabel (的体重(磅)

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

在本例中,三个缺口重叠,表明三个权重中位数没有显著差异。

控件显示并排的一对箱形图tiledlayout而且nexttile功能。

加载病人数据集。转换吸烟者到一个分类变量,使用描述性类别名称吸烟者而且不抽烟的人而不是1而且0

负载病人吸烟者= categorical(吸烟者,logical([10]),{“抽烟”不抽烟的});

控件创建1 × 2平铺图表布局tiledlayout函数。创建第一组轴ax₁调用nexttile函数。在第一组轴中,显示两个收缩压值的方框图,一个用于吸烟者,另一个用于非吸烟者。创建第二组轴ax2在平铺图表布局中调用nexttile函数。在第二组坐标轴中,对舒张压做同样的处理。

tiledlayout(1、2)%左轴Ax1 = nexttile;boxchart (ax₁,收缩,“GroupByColor”吸烟者)ylabel (ax₁“收缩压”传说)%右轴Ax2 = nexttile;boxchart (ax2,舒张压,“GroupByColor”吸烟者)ylabel (ax2,“舒张压”传说)

图中包含2个轴对象。坐标轴对象1包含2个boxchart类型的对象。这些对象表示吸烟者,非吸烟者。坐标轴对象2包含2个boxchart类型的对象。这些对象表示吸烟者,非吸烟者。

创建一组彩色编码的盒状图,作为矢量返回BoxChart对象。使用矢量更改一个箱形图的颜色。

加载病人数据集。转换性别而且吸烟者分类变量。指定描述性类别名称吸烟者而且不抽烟的人而不是1而且0

负载病人性别=分类的(性别);吸烟者= categorical(吸烟者,logical([10]),{“抽烟”不抽烟的});

结合性别而且吸烟者变量变成一个分组变量cgroupdata.创建方框图,显示每一对性别和吸烟状况的舒张压水平分布。b的向量BoxChart对象,每组数据对应一个对象。

cgroupdata =性别*吸烟者;b =箱线图(舒张期,“GroupByColor”cgroupdata)
b = 4x1 BoxChart数组:BoxChart BoxChart BoxChart
传奇(“位置”“东南”

图中包含一个轴对象。axis对象包含4个boxchart类型的对象。这些对象代表女性吸烟者,女性不吸烟者,男性吸烟者,男性不吸烟者。

控件更新第三个箱形图的颜色SeriesIndex财产。更新SeriesIndex属性同时更改框面颜色和离群标记颜色。

(3)。SeriesIndex = 6;

图中包含一个轴对象。axis对象包含4个boxchart类型的对象。这些对象代表女性吸烟者,女性不吸烟者,男性吸烟者,男性不吸烟者。

类的属性,使其更容易在视觉上区分具有许多异常值的断电数据,从而创建一个箱形图BoxChart对象。找到离群值条目的索引。

将停电数据作为表读入工作区。显示表的前几行。

中断=可读(“outages.csv”);头(停机)
ans =8×6表地区OutageTime RestorationTime造成损失客户  _____________ ________________ ______ __________ ________________ ___________________ {' 西南的}2002-02-01 12:18 458.98 - 1.8202 e + 06 2002-02-01 16:50{“暴风雪”}{“东南”}2003-01-23 00:49 530.14 - 2.1204 e + 05 NaT{“暴风雪”}{“东南”}2003-02-07)21:15 289.4 - 1.4294 e + 05 2003-02-07 08:14{“暴风雪”}{‘西方’}2004-04-06 05:44 434.81 - 3.4037 e + 05 2004-04-06 06:10{“设备故障”}{“中西部”}2002-03-16 06:18 186.442.1275e+05 2002-03-18 23:23{'严重风暴'}{'西部'}2003-06-18 02:49 00 2003-06-18 10:54{'攻击'}{'西部'}2004-06-20 14:39 231.29 NaN 2004-06-20 19:16{'设备故障'}{'西部'}2002-06-06 19:28 311.86 NaN 2002-06-07 00:51{'设备故障'}

创建一个BoxChart对象b中断。客户值,这些值指示每次停电影响的客户数量。boxchart丢弃带有值。

b = boxchart(停机。客户);ylabel (“客户数目”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

情节中有许多异常值。为了更好地看到它们,抖动异常值并更改异常值标记样式。当你设置JitterOutliers的属性BoxChart对象“上”时,软件会在水平方向上随机替换离群值标记,使它们不太可能完美重叠。异常值的值和垂直位置不变。

b.JitterOutliers =“上”;b.MarkerStyle =“。”

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

现在您可以更容易地看到异常值的分布。

要查找离群值指数,请使用isoutlier函数。指定四分位数的计算异常值匹配的方法boxchart离群值的定义。使用索引创建离群值表的一个子集中断数据。请注意,isoutlier识别96个异常值。

Idx = isoutlier(中断。的客户,四分位数的);异常值=中断(idx,:);尺寸(异常值,1)
Ans = 96

由于所有的异常值,盒状图的四分位数很难看到。要检查它们,请更改y设在限制。

ylim (4 e5 [0])

图中包含一个轴对象。axis对象包含一个boxchart类型的对象。

输入参数

全部折叠

样本数据,指定为数值向量或矩阵。

  • 如果ydata是矩阵吗boxchart的每一列创建框状图ydata

  • 如果ydata是矢量而你不指定xgroupdatacgroupdata,然后boxchart创建单个框状图。

  • 如果ydata是向量,你指定了吗xgroupdatacgroupdata,然后boxchart中为每个唯一值组合创建框状图xgroupdata而且cgroupdata

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

位置分组变量,指定为数值或分类向量。xgroupdata必须和向量的长度相同ydata;你不能指定xgroupdataydata是一个矩阵。

boxchart将数据分组在ydata根据唯一的值组合在xgroupdata而且cgroupdata.该函数为每组数据创建一个箱形图,并将每个箱形图定位在相应的位置xgroupdata价值。默认情况下,boxchart垂直定向方框图并显示xgroupdata沿着x设在。控件可以更改框状图的方向取向财产。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|分类

颜色分组变量,指定为数字向量、分类向量、逻辑向量、字符串数组、字符向量或字符向量的单元格数组。cgroupdata必须和向量的长度相同ydata;你不能指定cgroupdataydata是一个矩阵。

boxchart将数据分组在ydata根据唯一的值组合在xgroupdata而且cgroupdata.该函数为每组数据创建一个箱形图,并为具有相同数据的组分配相同的颜色cgroupdata价值。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|分类|逻辑|字符串|字符|细胞

目标轴,指定为对象。如果不指定坐标轴,那么boxchart使用当前轴(gca).

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:boxchart([兰德(10、4);4 *兰德(1、4)],“BoxFaceColor”,[0 0.5 0],“MarkerColor”,[0 0.5 0])创建带有绿色框和绿色离群值的盒状图(如果适用)。

BoxChart这里列出的属性只是一个子集。有关完整列表,请参见BoxChart属性

框颜色,指定为RGB三元组、十六进制颜色代码、颜色名称或短名称。

对于自定义颜色,请指定RGB三元组或十六进制颜色代码。

  • RGB三元组是一个三元素行向量,其元素指定颜色的红、绿和蓝分量的强度。强度必须在这个范围内[0, 1];例如,[0.4 0.6 0.7]

  • 十六进制颜色码是字符向量或以散列符号()后面跟着三个或六个十六进制数字,取值范围为0F.这些值不区分大小写。因此,颜色代码“# FF8800”“# ff8800”“# F80”,“# f80”是等价的。

或者,您可以通过名称指定一些常用颜色。该表列出了已命名的颜色选项、等效的RGB三元组和十六进制颜色代码。

颜色名称 短名称 RGB值 十六进制颜色代码 外观
“红色” “r” [10 0 0] “# FF0000”

样品的颜色为红色

“绿色” ‘g’ [0 10 0] “# 00 ff00”

样品的颜色为绿色

“蓝” “b” [0 0 1] “# 0000 ff”

样品的颜色为蓝色

“青色” “c” [0 1 1] “# 00飞行符”

样品的颜色为青色

“红色” “米” [10 0 1] “#就”

样品的颜色为洋红色

“黄色” “y” [11 10 0] “# FFFF00”

样品的颜色为黄色

“黑” “k” [0 0 0] # 000000的

样品颜色为黑色

“白色” ' w ' [1 1 1] “# FFFFFF”

样品颜色为白色

“没有” 不适用 不适用 不适用 没有颜色

这里是RGB三组和十六进制的颜色代码的默认颜色MATLAB®在许多类型的图中使用。

RGB值 十六进制颜色代码 外观
[0 0.4470 0.7410] “# 0072 bd”

RGB三联体[0 0.4470 0.7410]样品,呈深蓝色

[0.8500 0.3250 0.0980] “# D95319”

RGB三联体样品[0.8500 0.3250 0.0980],呈暗橙色

[0.9290 0.6940 0.1250] “# EDB120”

RGB三联体样品[0.9290 0.6940 0.1250],呈暗黄色

[0.4940 0.1840 0.5560] “# 7 e2f8e”

RGB三联体样品[0.4940 0.1840 0.5560],呈深紫色

[0.4660 0.6740 0.1880] “# 77 ac30”

RGB三联体[0.4660 0.6740 0.1880]样本,呈现中绿色

[0.3010 0.7450 0.9330] “# 4 dbeee”

RGB三联体样品[0.3010 0.7450 0.9330],呈浅蓝色

[0.6350 0.0780 0.1840] “# A2142F”

RGB三联体样品[0.6350 0.0780 0.1840],呈暗红色

例子:b = boxchart(rand(10,1),'BoxFaceColor','red')

例子:b.BoxFaceColor = [0 0.5 0.5];

例子:b.BoxFaceColor = '#EDB120';

异常值样式,指定为本表中列出的选项之一。

标记 描述 产生的标志
“o”

圆形记号笔样品

“+” 加号

加号标记的样本

‘*’ 星号

星号标记样本

“。”

点标样本

“x” 交叉

十字标记样本

“_” 水平线

水平线标记样本

“|” 垂直的线

垂直线标记的样本

“年代” 广场

方形记号笔样本

' d ' 钻石

钻石线标记的样品

“^” Upward-pointing三角形

向上三角形标记的样本

“v” 向下的三角形

向下指向三角形标记的样本

“>” 三点三角形

右指向三角形标记的样本

“<” 只左向三角形

左指向三角形标记的样本

“p” 五角星形

五角星记号笔样本

“h” 六角星形

六芒标记的样本

“没有” 没有标记 不适用

例子:b = boxchart([rand(10,1);2],' markstyle ','x')

例子:b.MarkerStyle = 'x';

离群点标记位移,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

如果你设置JitterOutliers财产“上”,然后boxchart随机地替换异常值标记沿XData帮助您区分具有相似的异常值的方向ydata值。有关示例,请参见可视化并发现异常值

例子:b = boxchart([兰德(20日1);2;2;2],“JitterOutliers”,“上”)

例子:b.JitterOutliers = 'on';

中值比较显示,指定为“上”“关闭”,或作为数字或逻辑1真正的)或0).值为“上”等于真正的,“关闭”等于.因此,您可以将此属性的值用作逻辑值。该值存储为类型的on/off逻辑值matlab.lang.OnOffSwitchState

如果你设置切口财产“上”,然后boxchart在每个中间值周围创建一个锥形阴影区域。凹槽不重叠的箱形图在5%显著性水平上有不同的中位数。有关更多信息,请参见箱形图(箱形图)

缺口可以超出上四分位数和下四分位数。

例子:b = boxchart(rand(10,2),'Notch','on')

例子:b.Notch = 'on';

方框图的方向,指定为“垂直”“水平”.默认情况下,方框图是垂直方向的,因此ydata统计信息与y设在。不管方向如何,boxchart存储ydata中的值YData的属性BoxChart对象。

例子:b = boxchart(rand(10,1),'Orientation','horizontal')

例子:b.方向=“水平”;

输出参数

全部折叠

的矢量返回的方框图BoxChart对象。b包含一个BoxChart中的每个惟一值cgroupdata.有关更多信息,请参见BoxChart属性

更多关于

全部折叠

箱形图(箱形图)

箱形图或箱形图为数据示例提供汇总统计信息的可视化表示。给定数值数据,相应的箱形图显示以下信息:中位数、下四分位数和上四分位数、任何异常值(使用四分位数范围计算)以及非异常值的最小值和最大值。

  • 每个方框内的线是样本中值。方法可以计算中位数的值中位数函数。

  • 每个方框的顶部和底部边缘分别是上四分位数和下四分位数。顶部和底部边缘之间的距离是四分位间距(IQR)。

    有关如何计算四分位数的更多信息,请参见分位数,其中,上四分位数对应0.75分位数,下四分位数对应0.25分位数。

  • 离群值是大于的值1.5·位差不要放在盒子的顶部或底部。默认情况下,boxchart属性显示每个离群值“o”的象征。离群值的计算与isoutlier函数与四分位数的方法。

  • 晶须是每个盒子上下延伸的线条。一须连接上四分之一的nonoutlier最大(不是异常值的最大值),另一个连接下四分位数到nonoutlier最低(不是异常值的最小值)。

  • 缺口帮助您比较多个箱形图的样本中位数。当你指定“缺口”,“上”,boxchart函数在每个中值周围创建一个锥形阴影区域。凹槽不重叠的箱形图在5%显著性水平上有不同的中位数。显著性水平基于正态分布假设,但对于其他分布,中位数比较是相当稳健的。

    所述缺口区域的上边缘和下边缘对应 + 1.57 R / n 而且 1.57 R / n ,分别为是中位数,位差四分位范围,和n是数据点的数量,排除值。

示例箱形图,带有用于汇总统计的标签

提示

  • 使用数据提示来探索中的数据BoxChart对象。有些选项在实时编辑器中不可用。

    • a中可以添加两种类型的数据提示BoxChart对象:每个箱形图一个,每个离群值一个。一般数据提示将出现在非异常值最大值处,无论您在方框图上单击何处。

      示例箱形图,有两个异常值数据提示和一个一般数据提示

      请注意

      显示的Num点价值包括对应的值ydata,但boxchart丢弃的值,然后计算箱形图统计信息。

    • 您可以使用datatip函数向对象中添加更多数据提示BoxChart对象,但数据提示的索引不同于其他图表。boxchart首先将指数赋给盒状图,然后将指数赋给异常值。例如,如果aBoxChart对象b显示两个箱形图和一个异常值,datatip (b, DataIndex, 3)在离群点创建数据提示。

版本历史

R2020a中引入

另请参阅

功能

属性