Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

BoxChart 属性

控制箱线图的外观和行为

BoxChart 属性控制 BoxChart 对象的外观和行为。通过更改属性值,您可以修改该对象的某些方面。

您可以使用圆点表示法查询和设置属性。例如,您可以更改箱线图的框颜色:

b = boxchart(rand(10,1));
b.BoxFaceColor = [0 0.5 0.5];

数据显示

全部展开

各个框的相对宽度,指定为 [0,1] 范围内的标量。使用此属性控制框的间隔。默认值为 0.5,这意味着框之间的距离等于单个框的宽度。如果您将此属性设置为 1,则相邻的框可以紧挨在一起。

示例: b = boxchart(rand(10,3),'BoxWidth',0.75)

示例: b.BoxWidth = 0.75;

离群值标记位移,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

如果您将 JitterOutliers 属性设置为 'on',则 boxchart 会沿 XData 方向随机对离群值标记进行位移,以帮助您区分具有相似 ydata 值的离群值。有关示例,请参阅可视化和查找离群值

示例: b = boxchart([rand(20,1);2;2;2],'JitterOutliers','on')

示例: b.JitterOutliers = 'on';

中位数比较显示,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

如果您将 Notch 属性设置为 'on',则 boxchart 会在每个中位数周围创建锥形着色区域。在 5% 显著性水平上,缺口不重叠的箱线图具有不同中位数。有关详细信息,请参阅箱线图

缺口可以延伸到上下四分位数之外。

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

示例: b.Notch = 'on';

箱线图的方向,指定为 'vertical''horizontal'。默认情况下,箱线图具有垂直方向,因此 ydata 统计量与 y 轴对齐。无论方向如何,boxchart 都将 ydata 值存储在 BoxChart 对象的 YData 属性中。

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

示例: b.Orientation = 'horizontal';

颜色和样式

全部展开

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

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

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'不适用不适用不适用无颜色

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

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

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

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

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

控制如何设置 BoxFaceColor 属性,指定为下列值之一:

  • 'auto' - MATLAB 通过从坐标区的 ColorOrder 属性中选择一种颜色来控制 BoxFaceColor 的值。

  • 'manual' - 手动控制 BoxFaceColor 的值,方法是在创建 BoxChart 对象时指定颜色,或在创建后对该对象设置 BoxFaceColor

如果您手动更改 BoxFaceColor 的值,MATLAB 会将 BoxFaceColorMode 属性的值更改为 'manual'

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

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

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

示例: b = boxchart(rand(10,1),'WhiskerLineColor','r')

示例: b.WhiskerLineColor = [0.25 0.5 0.5];

示例: b.WhiskerLineColor = '#A2142F';

框填充透明度,指定为 [0,1] 范围内的标量。值为 1 时不透明,值为 0 时完全透明。介于 01 之间的值表示半透明。

示例: b = boxchart(rand(10,1),'BoxFaceAlpha',0.4)

示例: b.BoxFaceAlpha = 0.4;

须线样式,指定为下表中列出的选项之一。

线型说明表示的线条
'-'实线

'--'虚线

':'点线

'-.'点划线

'none'无线条无线条

示例: b = boxchart(rand(10,1),'WhiskerLineStyle','--')

示例: b.WhiskerLineStyle = '--';

框边缘和须线宽度,指定为以磅为单位的正标量。一磅等于 1/72 英寸。LineWidth 值还控制中位数线的宽度。

示例: b = boxchart(rand(10,1),'LineWidth',1.5)

示例: b.LineWidth = 1.5;

序列索引,指定为大于或等于 0 的整数。此属性可用于重新分配几个 BoxChart 对象的框颜色 (BoxFaceColor) 和离群值颜色 (MarkerColor),使它们相互匹配。默认情况下,BoxChart 对象的 SeriesIndex 属性是与该对象的创建顺序对应的编号,从 1 开始。

在您调用绘图函数时,MATLAB 使用该编号计算用于分配颜色的索引。索引引用存储在坐标区的 ColorOrder 属性中的数组的行。

当您更改 BoxChart 对象的 SeriesIndex 或在坐标区上更改 ColorOrder 属性时,MATLAB 会自动更新该对象的框颜色或离群值颜色。但是,要使更改生效,必须满足以下条件:

  • BoxChart 对象的 BoxFaceColorModeMarkerColorMode 属性设置为 'auto'

  • BoxChart 对象的 SeriesIndex 属性大于 0

  • 坐标区对象的 NextSeriesIndex 属性大于 0

标记

全部展开

离群值样式,指定为下表中列出的选项之一。

说明
'o'圆圈
'+'加号
'*'星号
'.'
'x'叉号
'_'水平线条
'|'垂直线条
'square''s'方形
'diamond''d'菱形
'^'上三角
'v'下三角
'>'右三角
'<'左三角
'pentagram''p'五角星(五角形)
'hexagram''h'六角星(六角形)
'none'无标记

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

示例: b.MarkerStyle = 'x';

离群值大小,指定为以磅为单位的正标量。一磅等于 1/72 英寸。

示例: b = boxchart([rand(10,1);2],'MarkerSize',8)

示例: b.MarkerSize = 8;

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

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

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

示例: b = boxchart([rand(10,1);2],'MarkerColor','magenta')

示例: b.MarkerColor = [0.5 0.5 1];

示例: b.MarkerColor = '#7E2F8E';

控制如何设置 MarkerColor 属性,指定为下列值之一:

  • 'auto' - MATLAB 通过从坐标区的 ColorOrder 属性中选择一种颜色来控制 MarkerColor 的值。

  • 'manual' - 手动控制 MarkerColor 的值,方法是在创建 BoxChart 对象时指定颜色,或在创建后对该对象设置 MarkerColor

如果您手动更改 MarkerColor 的值,MATLAB 会将 MarkerColorMode 属性的值更改为 'manual'

数据

全部展开

位置数据,指定为数值或分类向量。

  • 如果 YData 是向量,则 XData 是与 YData 长度相同的向量。XData(i) 值表示使用 YData(i) 值创建的箱线图的位置。

  • 如果 YData 是矩阵,则 XData 是向量,其长度等于 YData 中的列数。XData(i) 值表示使用 YData(:,i) 列创建的箱线图的位置。

默认情况下,XData 控制沿 x 轴的箱线图位置。但是,当 Orientation 属性值为 'horizontal' 时,XData 值对应于沿 y 轴的位置。

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

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

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

图例

全部展开

图例标签,指定为字符向量或字符串标量。只有调用 legend 命令之后,才会显示图例。如果未指定文本,则 legend 使用 'dataN' 形式设置标签。

此属性为只读

指定是否在图例中包含对象的控制项,返回 Annotation 对象。将基础 IconDisplayStyle 属性设置为以下值之一:

  • 'on' - 在图例中包含对象(默认值)。

  • 'off' - 不在图例中包含对象。

例如,要从图例中排除图形对象 go,请将 IconDisplayStyle 属性设置为 'off'

go.Annotation.LegendInformation.IconDisplayStyle = 'off';

您也可以使用 legend 函数控制图例中的项目。将第一个输入参数指定为要包含的图形对象的向量。如果未在第一个输入参数中指定现有图形对象,则该图形对象不会显示在图例中。但在创建图例后添加到坐标区的图形对象会显示在图例中。请考虑在创建所有绘图后创建图例以避免出现额外的项。

交互性

全部展开

可见性状态,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

  • 'on' - 显示对象。

  • 'off' - 隐藏对象而不删除它。您仍然可以访问不可见对象的属性。

数据提示内容,指定为 DataTipTemplate 对象。您可以通过修改底层 DataTipTemplate 对象的属性来控制数据提示中显示的内容。有关属性列表,请参阅 DataTipTemplate 属性

有关修改数据提示的示例,请参阅创建自定义数据提示

注意

findobjfindall 不返回 DataTipTemplate 对象,copyobj 也不复制该对象。

捕获鼠标点击的能力,指定为以下值之一:

  • 'visible' - 当对象可见时,捕获鼠标点击。Visible 属性必须设置为 'on',而且您必须点击 BoxChart 对象中具有定义颜色的部分。不能点击包含设置为 'none' 的相关颜色属性的部分。HitTest 属性决定是 BoxChart 对象响应点击还是前代响应点击。

  • 'none' - 无法捕获鼠标点击。点击 BoxChart 对象会将点击操作传递给图窗窗口的当前视图中该对象下面的对象。BoxChart 对象的 HitTest 属性没有任何作用。

对捕获的鼠标点击的响应,指定为 'on''off',或者指定为数值或逻辑值 1 (true) 或 0 (false)。值 'on' 等效于 true,'off' 等效于 false。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState 类型的 on/off 逻辑值。

  • 'on' - 启用 BoxChart 对象以捕获鼠标点击。

  • 'off' - 触发满足以下条件之一的 BoxChart 对象的最近前代的回调:

    • HitTest 属性设置为 'on'

    • PickableParts 属性所设置的值允许前代捕获鼠标点击

注意

PickableParts 属性决定 BoxChart 对象是否可以捕获鼠标点击。如果无法捕获,则 HitTest 属性没有任何作用。

父级/子级

全部展开

父级,指定为 AxesGroupTransform 对象。

子级,以空的 GraphicsPlaceholder 数组或 DataTip 对象数组形式返回。使用此属性来查看在图上绘制的数据提示的列表。

不能使用 Children 属性添加或删除子级。要向此列表中添加子级,请将 DataTip 对象的 Parent 属性设置为图对象。

父级的 Children 属性中对象句柄的可见性,指定为下列值之一:

  • 'on' - 对象句柄始终可见。

  • 'off' - 对象句柄始终不可见。该选项用于防止另一函数无意中对其进行更改。将 HandleVisibility 设置为 'off' 可在执行该函数时暂时隐藏句柄。

  • 'callback' - 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。

如果父级的 Children 属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。此类函数的示例包括 getfindobjgcagcfgconewplotclaclfclose 函数。

隐藏的对象句柄仍有效。将根 ShowHiddenHandles 属性设置为 'on' 以列出所有对象句柄,而不管其 HandleVisibility 属性设置如何。

标识符

全部展开

此属性为只读

图形对象的类型,以 'BoxChart' 形式返回。使用该属性在绘制层次结构中查找指定类型的所有对象,例如,使用 findobj 搜索该类型。

对象标识符,指定为字符向量或字符串标量。您可以指定唯一的 Tag 值作为对象的标识符。如果需要访问您代码中其他位置的对象,可以使用 findobj 函数基于 Tag 值搜索对象。

用户数据,指定为任何 MATLAB 数组。例如,您可以指定标量、向量、矩阵、元胞数组、字符数组、表或结构体。使用此属性存储对象上的任意数据。

如果您在 App 设计工具中工作,请在该 App 中创建公共或私有属性以共享数据,而不是使用 UserData 属性。有关详细信息,请参阅在用 App 设计工具创建的 App 内共享数据

另请参阅

在 R2020a 中推出