Main Content

オブジェクト グループの作成

オブジェクト グループを作成するには、グループ オブジェクトまたは変換オブジェクトをオブジェクトの親にします。たとえば、hggroup を呼び出して、グループ オブジェクトを作成し、そのハンドルを保存します。このグループ オブジェクトを後で作成するオブジェクトの親オブジェクトとして割り当てます。

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

グループの可視性を off に設定すると、グループに含まれるラインおよび text オブジェクトが不可視になります。

hg.Visible = 'off';

グループに追加するオブジェクトは選択できます。たとえば、次の関数 bar の呼び出しでは、異なる 5 つの bar オブジェクトのハンドルが返されます。

hb = bar(randn(5))
hb = 

  1x5 Bar array:

    Bar    Bar    Bar    Bar    Bar

3 ~ 5 番目の 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 により座標軸がクリアされています。しかし、関数 bar の引数に Parent プロパティを名前と値のペアとして設定する場合には、関数 bar によりグループは削除されません。

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

グループの子オブジェクトの Visible および Selected プロパティ

グループ オブジェクトまたは変換オブジェクトの Visible プロパティは、グループ内の全オブジェクトを表示するか非表示にするかをコントロールします。ただし、グループ オブジェクトの Visible プロパティの状態を変更しても、個々のオブジェクトに対する同名のプロパティの状態は変更されません。各オブジェクトの Visible プロパティの値は保持されます。

たとえば、グループの Visible プロパティを off に設定してから on に設定した場合、元々可視であったオブジェクトのみが表示されます。

Selected および SelectionHighlight プロパティにも、これと同じ動作が適用されます。グループ オブジェクトまたは変換オブジェクトの子オブジェクトは、自身のプロパティ値を変更せずに、それらを含むグループ オブジェクトまたは変換オブジェクトのプロパティの状態を示します。