Main Content

linkprop

为图形对象的对应属性保持相同值

语法

hlink = linkprop(obj_handles,'PropertyName')
hlink = linkprop(obj_handles,{'PropertyName1','PropertyName2',...})

说明

采用 linkprop 为不同图形对象的对应属性保持使用相同的值。

注意

linkprop 只能用于图形对象。

hlink = linkprop(obj_handles,'PropertyName') 为其句柄出现于 obj_handles 中的所有对象的属性 PropertyName 保持使用相同的值。linkprophlink 中返回链接对象。有关详细信息,请参阅关于链接对象

对于其句柄出现在 obj_handles 中的所有对象上以元胞数组形式传递的所有属性,hlink = linkprop(obj_handles,{'PropertyName1','PropertyName2',...}) 会为它们保持使用相同的对应值。

当调用 linkprop 时,MATLAB® 将立即更新所有链接对象的链接属性。列表 obj_handles 中的第一个对象确定其他对象的属性值。

一组图形对象只能有一个在任意给定时间连接其属性的链接对象。调用 linkprop 将创建一个新的链接对象。此新链接对象将替换与 obj_handles 中指定的对象相关联的任何现有链接对象。但是,您可以通过调用对象的方法来管理将链接哪些属性和哪些对象:

  • 要将对象添加到链接的对象列表中,请使用 addtarget 方法。

  • 要链接当前链接的对象的新属性,请使用 addprop 方法。

  • 要停止链接对象,请使用 removetarget 方法。

  • 要停止链接属性,请使用 removeprop 方法。

关于链接对象

linkprop 返回的链接对象存储链接不同图形对象的属性的机制。因此,该链接对象必须存在于您要进行属性链接的上下文中(例如,如果用户要从命令行或图窗工具与对象交互,则是在基础工作区中)。

下面列出了保持对链接对象的引用的方法。

  • 以函数的输出参数的形式返回链接对象,并在与链接的对象交互时将联接对象保持在基础工作区中。

  • hlink 变量设置为全局变量。

  • hlink 变量存储在对象的 UserData 属性或应用程序数据中。

更新链接对象

如果要更改已链接的图形对象或属性,需要使用为该目的设计的链接对象方法。这些方法是仅作用于链接对象的函数。要使用这些方法,必须先使用 linkprop 创建一个链接对象。

方法

用途

addtarget

将指定的图形对象添加到链接对象的目标。

removetarget

从链接对象的目标中删除指定的图形对象。

addprop

将指定的属性添加到链接的属性。

removeprop

从链接的属性中删除指定的属性。

方法语法

addtarget(hlink,obj_handles)
removetarget(hlink,obj_handles)
addprop(hlink,'PropertyName')
removeprop(hlink,'PropertyName')

方法参数

  • hlink - 通过 linkprop 返回的链接对象

  • obj_handles - 一个或多个图形对象句柄

  • PropertyName - 所有目标对象通用的属性的名称

示例

全部折叠

链接两个坐标区的属性,这样旋转一个坐标区即会自动旋转另一个。

创建一个包含两个坐标区的图窗并存储坐标区句柄。将绘图添加到两个坐标区中。

figure
ax1 = subplot(2,1,1);
[X1,Y1,Z1] = peaks;
surf(X1,Y1,Z1)

ax2 = subplot(2,1,2);
[X2,Y2,Z2] = peaks(10);
surf(X2,Y2,Z2)

链接坐标区的 CameraPositionCameraUpVector 属性并返回链接对象句柄。然后,启用交互式旋转并使用鼠标旋转任一坐标区。旋转一个坐标区即会以相同方式自动旋转另一个。

hlink = linkprop([ax1,ax2],{'CameraPosition','CameraUpVector'});
rotate3d on

要禁用交互式旋转,请使用 rotate3d off

通过将链接对象句柄和属性名称传递到 addprop 来链接其他属性。

addprop(hlink,'PlotBoxAspectRatio')

版本历史记录

在 R2006a 之前推出