brush
以交互方式标记图中的数据值
说明
数据刷亮允许您使用自选颜色对图中的数据值进行标记。您可以标记单个数据值,也可以框选多个值进行标记。对值进行标记后,您可以将其删除或保存到工作区中的变量中。即使平移、缩放、添加数据提示或编辑绘图,刷亮标记也会一直保留,直到将其删除为止。
大多数图都支持数据刷亮,包括线图、条形图、面积图、直方图和曲面图。支持刷亮的图通常在坐标区工具栏中显示刷亮图标 。
创建对象
描述
brush on
将在当前图窗中启用刷亮。在启用刷亮状态下,点击一个数据值可对其进行标记。如果要标记多个数据值,可框选这些值。要添加额外的标记或删除不需要的标记,请在刷亮数据值时按住 Shift 键。
brush off
禁用刷亮。如果图上存在刷亮标记,此命令不会将它们删除。
brush
在 'on'
和 'off'
之间切换刷亮模式。
brush(
设置后续刷亮标记的颜色。设置刷亮颜色不会影响当前标记,除非您刷亮数据、更改刷亮颜色,然后使用 Shift 键添加或删除标记。在这种情况下,所有标记都会更新为新颜色。color
)
brush(
为指定的图窗设置刷亮模式或颜色选项。例如,fig
,___)brush(fig,'on')
。
创建一个 b
= brush(___)brush
对象。该语法可用于控制刷亮模式、颜色和回调属性。
输入参数
fig
— 目标图窗
Figure
对象
目标图窗,指定为 Figure
对象。如果不指定图窗,则刷亮会影响当前图窗。
color
— 刷亮标记颜色
[1 0 0]
或红色 (默认) | RGB 三元组 | 颜色名称
刷亮标记颜色,指定为 RGB 三元组或颜色名称。要创建特定颜色的刷亮标记,请在刷亮数据值之前设置颜色属性。设置刷亮颜色不会影响当前标记,除非您刷亮数据、更改刷亮颜色,然后使用 Shift 键添加或删除标记。在这种情况下,所有标记都会更新为新颜色。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1]
范围内,例如 [0.4 0.6 0.7]
。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及其对应的 RGB 三元组值。
颜色名称 | 短名称 | RGB 三元组 | 外观 |
---|---|---|---|
'red' | 'r' | [1 0 0] | |
'green' | 'g' | [0 1 0] | |
'blue' | 'b' | [0 0 1] | |
'cyan' | 'c' | [0 1 1] | |
'magenta' | 'm' | [1 0 1] | |
'yellow' | 'y' | [1 1 0] | |
'black' | 'k' | [0 0 0] | |
'white' | 'w' | [1 1 1] | |
以下是 MATLAB® 在许多类型的绘图中使用的默认颜色的 RGB 三元组。
RGB 三元组 | 外观 |
---|---|
[0 0.4470 0.7410] | |
[0.8500 0.3250 0.0980] | |
[0.9290 0.6940 0.1250] | |
[0.4940 0.1840 0.5560] | |
[0.4660 0.6740 0.1880] | |
[0.3010 0.7450 0.9330] | |
[0.6350 0.0780 0.1840] | |
属性
Color
— 刷亮标记颜色
[1 0 0]
或红色 (默认) | RGB 三元组 | 颜色名称
刷亮标记颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。要创建特定颜色的刷亮标记,请在刷亮数据值之前设置颜色属性。设置刷亮颜色不会影响当前标记,除非您刷亮数据、更改刷亮颜色,然后使用 Shift 键添加或删除标记。在这种情况下,所有标记都会更新为新颜色。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" |
Enable
— 刷亮模式
'off'
(默认) | 'on'
刷亮模式,指定为 'off'
或 'on'
。
ActionPreCallback
— 刷亮前要执行的函数
[ ] (默认) | 函数句柄 | 元胞数组 | 字符向量
刷亮前要执行的函数,指定为下列值之一:
函数句柄
元胞数组,包含一个函数句柄和其他参数
作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)
使用此属性在开始刷亮图时执行代码。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参数:
figure
- 您正在刷亮的图窗对象。axesStruct
- 包含您正在刷亮的坐标区的结构体。该结构体有一个字段Axes
,即您正在刷亮的坐标区对象。如果在回调函数中不使用此参数,请用波浪号字符 (~) 替换它。
有关如何使用函数句柄定义回调定义的详细信息,请参阅Create Callbacks for Graphics Objects。
ActionPostCallback
— 刷亮后执行的函数
[ ] (默认) | 函数句柄 | 元胞数组 | 字符向量
刷亮后执行的函数,指定为下列值之一:
函数句柄
元胞数组,包含一个函数句柄和其他参数
作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)
使用此属性在完成图的刷亮后执行代码。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参数:
figure
- 您正在刷亮的图窗对象。axesStruct
- 包含您正在刷亮的坐标区的结构体。该结构体有一个字段Axes
,即您正在刷亮的坐标区对象。如果在回调函数中不使用此参数,请用波浪号字符 (~) 替换它。
有关如何使用函数句柄定义回调定义的详细信息,请参阅Create Callbacks for Graphics Objects。
ButtonDownFilter
— 刷亮隐藏回调
[ ] (默认) | 函数句柄 | 元胞数组 | 字符向量
刷亮隐藏回调,指定为下列值之一:
函数句柄
元胞数组,包含一个函数句柄和其他参数
作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)
使用此属性可隐藏在您定义的条件下的刷亮。数值或逻辑值输出 1 (true
) 表示隐藏刷亮操作,数值或逻辑值输出 0 (false
) 表示允许刷亮操作继续。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参数:
axes
- 您要刷亮的坐标区对象。eventData
- 空参数。在函数定义中将其替换为波浪号字符 (~) 以指示不使用此参数。
如果使用函数句柄指定此属性,则必须将此函数的输出赋给变量。
有关如何使用函数句柄定义回调定义的详细信息,请参阅Create Callbacks for Graphics Objects。
FigureHandle
— 图窗对象
Figure
对象
此 属性 为只读。
其中出现刷亮标记的 Figure
对象。
UseLegacyExplorationModes
— 旧模式
'off'
(默认) | on/off 逻辑值
旧模式,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
将此属性设置为 'on'
会更改 UI 图窗中交互模式的行为,使其与传统图窗中模式的行为相匹配。有关详细信息,请参阅 enableLegacyExplorationModes
。
一旦该属性设置为 'on'
,它就无法再更改回 'off'
。
此属性仅应用于使用 uifigure
函数或在 MATLAB Online™ 中创建的图窗的刷亮对象。
示例
在图中标记数据值
在散点图中使用刷亮来标记数据值。首先,绘制随机的 x
和 y
值。然后,打开刷亮,使用鼠标在一些点周围拖动绘制一个矩形。
x = rand(20,1);
y = rand(20,1);
scatter(x,y)
brush('on')
要在已标记点集的基础上进行增删,请在刷亮时按住 Shift 键。点击一个点以添加或删除它。要添加或删除多个点,请框选这些点。
通过点击或拖动坐标区的空白区域以清除所有刷亮标记。
使用刷亮对象控制刷亮模式和颜色
在条形图中绘制数据值并创建刷亮对象。然后,通过更新该对象的属性启用刷亮并将刷亮颜色设置为 'green'
。最后,框选每个条形的最大值来标记数据值。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5]; bar(y) b = brush; b.Enable = 'on'; b.Color = 'green';
将刷亮的数据保存在变量中
使用上下文菜单将刷亮的数据保存在变量中。首先,绘制一些 x
和 y
值。打开刷亮,然后标记一些数据值。
x = linspace(0,5,30);
y = exp(x);
plot(x,y)
brush('on')
要将刷亮的数据存储在变量中,请右键点击一个刷亮的数据值,并从上下文菜单中选择导出刷亮的。出现提示时,输入变量名称。在本例中,使用名称 bData
。最后,查看 bData
的内容。
bData
bData = 3.2759 26.4660 3.4483 31.4461 3.6207 37.3633 3.7931 44.3940 3.9655 52.7475 4.1379 62.6730 4.3103 74.4662 4.4828 88.4784 4.6552 105.1273
通过刷亮删除数据值
通过使用上下文菜单从图中删除刷亮的数据。首先,绘制一些 x
和 y
值。打开刷亮,然后标记一些数据值。
x = linspace(0,5,30);
y = exp(x);
scatter(x,y)
brush('on')
要从图中删除刷亮的数据,请右键点击刷亮的数据值,并从上下文菜单中选择删除。
局限性
对于使用 uifigure
函数创建的图窗,不支持使用上下文菜单更改刷亮标记的颜色。应改为创建一个刷亮模式对象,并以编程方式更改其颜色。
uif = uifigure; ax = axes(uif); bar(ax,1:10) b = brush(uif); b.Color = 'g'; b.Enable = 'on';
详细信息
数据链接如何影响数据刷亮
数据链接会随着所绘制变量的变化自动更新图窗。使用命令 linkdata on
对图窗启用数据链接。在链接图形上创建的刷亮标记将出现在显示相同变量的其他链接图形上。即便其他绘图未启用刷亮模式也会如此。
在对图窗启用数据链接时,现有刷亮标记将被其他链接图窗中的标记替换。如果启用了数据链接且没有其他链接图窗,则现有刷亮标记会消失。如果刷亮图形,然后关闭数据链接,则刷亮标记会保留。
下列条件适用:
刷亮标记在所有链接图中以相同的颜色显示。链接图中显示的刷亮颜色是与您正在刷亮的图相关联的刷亮颜色。
链接变量不能为复数。您可以刷亮复数数据值,但刷亮标记不会出现在其他链接图中。有关链接复变量的详细信息,请参阅
linkdata
。
当曲面图有链接数据时,曲面图上刷亮标记的显示有所不同。当您刷亮链接曲面图的一个面时,所有具有相同 yData
的面也会被刷亮。通过此行为,您可以研究分布在多行中的数据列之间的关系。下图说明刷亮未链接的曲面图和链接的曲面图之间的区别。
提示
要刷亮直方图,必须首先启用数据链接。
版本历史记录
在 R2008a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)