Main Content

创建对象组

通过将一个组或变换对象作为对象父级来创建对象组。例如,调用 hggroup 创建组对象并保存其句柄。将该组对象分配为后续创建对象的父级:

hg = hggroup;
plot(rand(5),'Parent',hg)
text(3,0.5,'Random lines','Parent',hg)

将该组的可见性设置为关闭,可使其所包含的线条和文本对象都不可见。

hg.Visible = 'off';

您可以有选择地将对象添加到组中。例如,以下对 bar 函数的调用返回五个条形对象的句柄:

hb = bar(randn(5))
hb = 

  1x5 Bar array:

    Bar    Bar    Bar    Bar    Bar

将该组作为第三个、第四个、第五个条形对象的父级:

hg = hggroup;
set(hb(3:5),'Parent',hg) 

组对象可以是任意数目坐标区子对象(包括其他组对象)的父级。有关示例,请参阅绕任意轴旋转嵌套变换,执行复杂移动

父级设定

绘图函数可以在生成其图形之前清除坐标区。但如果在绘图函数中将组或变换分配为 Parent,那么此组或变换对象将被清除。

例如:

hg = hggroup;
hb = bar(randn(5));
set(hb,'Parent',hg)
Error using matlab.graphics.chart.primitive.Bar/set
Cannot set property to a deleted object

bar 函数清除坐标区。但如果将 Parent 属性设置为 bar 函数参量中的名称/值对组,那么条形函数不会删除该组:

hg = hggroup;
hb = bar(randn(5),'Parent',hg);

组的子对象的可见性和选中属性

设置组或变换对象的 Visible 属性可以控制组中的对象可见还是不可见。但改变组对象的 Visible 属性的状态不会改变单个对象此属性的状态。单个对象的 Visible 属性值是预先保留的。

例如,如果组的 Visible 属性设置为关闭,以后再设置为打开,则只有初始为可见的对象才会显示。

相同的行为也适用于 SelectedSelectionHighlight 属性。组对象或变换对象的子级显示在其所属对象属性的状态,而不会实际改变其属性值。