オブジェクト グループの作成
オブジェクト グループを作成するには、グループ オブジェクトまたは変換オブジェクトをオブジェクトの親にします。たとえば、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
プロパティにも、これと同じ動作が適用されます。グループ オブジェクトまたは変換オブジェクトの子オブジェクトは、自身のプロパティ値を変更せずに、それらを含むグループ オブジェクトまたは変換オブジェクトのプロパティの状態を示します。