既定のプロパティ値
プロパティの事前定義値
ほぼすべてのグラフィックス オブジェクトのプロパティには事前定義値があります。事前定義値は以下の 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 つのレベルで定義できます。
たとえば、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'
をプロパティ値として指定すると、プロパティは出荷時に設定された値になります。たとえば、次のステートメントは、定義した既定値に関係なく、表面 h
の EdgeColor
を黒 (出荷時の設定値) に設定します。
set(gcf,'defaultSurfaceEdgeColor','g') h = surface(peaks); set(h,'EdgeColor','factory')
出荷時に設定されたプロパティ値を一覧表示
出荷時の値を一覧表示するには、以下の方法があります。
get(groot,'factory')
— すべてのグラフィックス オブジェクトに対して出荷時に設定されたすべてのプロパティ値を一覧表示します。get(groot,'factory
— 特定のオブジェクトに対して出荷時に設定されたすべてのプロパティ値を一覧表示します。ObjectType
')get(groot,'factory
— 指定されたプロパティに対して出荷時に設定された値を一覧表示します。ObjectTypePropertyName
')
予約語の使用
プロパティ値を default
、remove
、factory
に設定すると、前節で記述した種々の影響をもたらします。これらの語のいずれかにプロパティを設定する (たとえば、テキストの String
プロパティを default
という語に設定する) には、その語の前にバックスラッシュ文字を付けます。
h = text('String','\default');