メインコンテンツ

既定のプロパティ値

プロパティの事前定義値

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

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

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

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

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

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

既定値の指定

以下の 3 つの部分からなる string として既定のプロパティ値を定義します。

"default" ObjectType PropertyName
  • default という語

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

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

既定のラインの LineWidth を指定する string は次のようになります。

"defaultLineLineWidth"

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

set(groot,"defaultLineLineWidth",2)

Name=Value 構文を使用して引用符を省略することもできます。

set(groot,defaultLineLineWidth=2)

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

set(groot,defaultFigureColor="blue")

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

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

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

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

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

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

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

set(groot,defaultFigureColor="blue")

既定値の一覧表示

get を使用して、任意のオブジェクト レベルで、どのような既定値が現在設定されているかを確認します。このコマンドは現在の MATLAB セッションに設定されているすべての既定値を返します。

get(groot,"default")

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

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

set(groot,defaultSurfaceEdgeColor="black")
h = surface(peaks);
set(gcf,defaultSurfaceEdgeColor="g")
set(h,EdgeColor="default")

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

既定値の削除

"remove" をプロパティ値として指定すると、ユーザー定義の既定値が除去されます。このコマンドは、ルートから既定の表面の EdgeColor の定義を削除します。

set(groot,defaultSurfaceEdgeColor="remove")

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

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

set(gcf,defaultSurfaceEdgeColor="green")
h = surface(peaks);
set(h,EdgeColor="factory")

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

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

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

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

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

予約語の使用

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

h = text(String="\default");

Figure のテーマが既定値に与える影響

R2025a 以降

多くの既定の色プロパティ値といくつかの既定の透明度プロパティ値は、テーマに応じて変化します。たとえば、ライト テーマの既定の Text オブジェクトの色は、濃いグレーです。

f = figure(Theme="light");
get(f,"DefaultTextColor")
ans =

    0.1294    0.1294    0.1294

Figure のテーマを変更すると、既定の色ははるかに明るいグレーになります。

f.Theme = "dark";
get(f,"DefaultTextColor")
ans =

    0.8510    0.8510    0.8510

ただし、出荷時の既定値は、現在の Figure のテーマに関係なく、既定の Figure のテーマに依存します。たとえば、Figure の既定のテーマが "light" の場合、出荷時の既定のテキスト色は濃い色になります。

get(f,"FactoryTextColor")
ans =

    0.1294    0.1294    0.1294

メモ

既定の構文を使用して、Figure のテーマの既定値を設定または取得することはできません。代わりに、MATLAB の [設定] ウィンドウを使用します。MATLAB デスクトップの [ホーム] タブで、[環境] セクションの [設定] をクリックし、[MATLAB]、[外観] を選択します。次に、[Figure のテーマ] メニューから項目を選択します。

プロパティの既定値を指定すると、Figure のテーマを変更しても既定値が保持されます。たとえば、Text オブジェクトの既定の色を [1 0 0] (赤) に設定します。

set(f,"DefaultTextColor",[1 0 0])
get(f,"DefaultTextColor")
ans =

    1    0    0

Figure のテーマを変更し、既定のテキストの色を再度取得します。値は赤のままです。

f.Theme = "light";
get(f,"DefaultTextColor")
ans =

    1    0    0

参考

プロパティ

オブジェクト