Main Content

既定のプロパティ値

プロパティの事前定義値

ほぼすべてのグラフィックス オブジェクトのプロパティには事前定義値があります。事前定義値は以下の 2 つの可能性により派生します。

  • オブジェクトの先祖に定義されている既定値

  • グラフィックス オブジェクト階層のルートに定義されている出荷時の値

オブジェクトのプロパティの既定値を作成することができます。これらの既定値は、出荷時設定値より優先されます。オブジェクトが以下の場合に既定値が使用されます。

  • 既定値を定義した先祖が含まれる階層に作成されている

  • 既定値を定義した先祖が含まれる階層に親をもつ

既定値の指定

以下の 3 つの部分からなる文字ベクトルを使用して既定のプロパティ値を定義します。

'default' ObjectType PropertyName
  • default という語

  • オブジェクトの種類 (たとえば、Line)

  • プロパティ名 (たとえば、LineWidth)

既定のラインの LineWidth を指定する文字ベクトルは次のようになります。

'defaultLineLineWidth'

既定値を指定するには、この文字ベクトルを使用します。たとえば、ラインの LineWidth プロパティに 2 の既定値を指定するには、次のステートメントを使用します。

set(groot,'defaultLineLineWidth',2)

文字ベクトル defaultLineLineWidth は、プロパティを Line のプロパティとして識別します。Figure の色を指定するには、defaultFigureColor を使用します。

set(groot,'defaultFigureColor','b')

既定値を設定する階層内の場所

通常、既定値はルート レベルに設定することで、後続のすべてのプロット関数によって使用されるようにします。ルートは、ルートへのハンドルを返す関数 groot を使用し、set および get ステートメント内で指定します。

既定のプロパティ値は 3 つのレベルで定義できます。

  • ルート — 値は現在の MATLAB® セッションで作成されたオブジェクトに適用されます。

  • Figure — 既定値の使用は、既定値を設定している Figure の子オブジェクトに適用されます。

  • 座標軸 — 既定値の使用は、低水準関数 (lightlinepatchrectanglesurfacetext および image の低水準の型) を使用しているときに限り、既定値を定義している座標軸の子オブジェクトにのみ、適用されます。

たとえば、Figure の既定の色は、ルート レベルでのみ指定します。

set(groot,'defaultFigureColor','b')

既定値の一覧表示

get を使用して、任意のオブジェクト レベルで、どのような既定値が現在設定されているかを確認します。

get(groot,'default')

この関数は現在の MATLAB セッションに設定されているすべての既定値を返します。

プロパティを現在の既定値に設定

'default' をプロパティ値として指定すると、プロパティはそれに対して定義されている最初に見つかった既定値に設定されます。たとえば、次のステートメントにより、結果は緑の表面の EdgeColor となります。

set(groot,'defaultSurfaceEdgeColor','k')
h = surface(peaks);
set(gcf,'defaultSurfaceEdgeColor','g')
set(h,'EdgeColor','default')

Surface の EdgeColor に対する既定値は Figure レベルに存在するので、MATLAB は、この値を最初に発見し、Root に定義されている既定の EdgeColor の代わりにそれを使用します。

既定値の削除

'remove' をプロパティ値として指定すると、ユーザー定義の既定値が除去されます。ステートメント

set(groot,'defaultSurfaceEdgeColor','remove')

は、ルートから既定の表面の EdgeColor の定義を削除します。

プロパティを出荷時設定値に設定

'factory' をプロパティ値として指定すると、プロパティは出荷時に設定された値になります。たとえば、次のステートメントは、定義した既定値に関係なく、表面 hEdgeColor を黒 (出荷時の設定値) に設定します。

set(gcf,'defaultSurfaceEdgeColor','g')
h = surface(peaks);
set(h,'EdgeColor','factory')

出荷時に設定されたプロパティ値を一覧表示

出荷時の値を一覧表示するには、以下の方法があります。

  • get(groot,'factory') — すべてのグラフィックス オブジェクトに対して出荷時に設定されたすべてのプロパティ値を一覧表示します。

  • get(groot,'factoryObjectType') — 特定のオブジェクトに対して出荷時に設定されたすべてのプロパティ値を一覧表示します。

  • get(groot,'factoryObjectTypePropertyName') — 指定されたプロパティに対して出荷時に設定された値を一覧表示します。

予約語の使用

プロパティ値を defaultremovefactory に設定すると、前節で記述した種々の影響をもたらします。これらの語のいずれかにプロパティを設定する (たとえば、テキストの String プロパティを default という語に設定する) には、その語の前にバックスラッシュ文字を付けます。

h = text('String','\default');