Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Patch のプロパティ

パッチの外観と動作

Patch プロパティは Patch オブジェクトの外観と動作を制御します。プロパティの値を変更することによって、パッチの一部の特性を変更できます。プロパティのクエリと設定にはドット表記を使用します。

p = patch;
c = p.CData;
p.CDataMapping = 'scaled';

すべて展開する

面の色。'interp''flat' RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

各面に異なる色を作成するには、面ごとに 1 つの色または頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData プロパティを指定します。色は面ごとに周囲の頂点の色から内挿することも、一様にすることもできます。内挿された色の場合、このプロパティを 'interp' として指定します。一様な色の場合、このプロパティを 'flat' として指定します。頂点ごとに 'flat' と異なる色を指定すると、指定する最初の頂点の色によって面の色が決まります。

すべての面に単色を指定するには、このプロパティを RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

エッジの色。次の表のいずれかの値として指定します。エッジの既定色は黒で、[0 0 0] の値で指定されます。複数の多角形で共有されるエッジの場合、その表示色は最初に描画された多角形によって決まります。

説明結果

RGB 3 成分、16 進数カラー コード、色名

すべてのエッジに 1 つの色を使用します。詳細については、次の表を参照してください。

'flat'

エッジごとに異なる色を使用します。エッジの色を設定するには、その前の頂点の色を指定します。まず、頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData を指定しなければなりません。エッジの色は、頂点を指定した順序によって決まります。

'interp'

内挿されたエッジの色。まず、頂点ごとに 1 つの色を含む配列として CData または FaceVertexCData を指定しなければなりません。エッジの色を指定するには、2 つの境界頂点の値を線形内挿します。

'none'エッジは表示されません。

エッジは表示されません。

RGB 3 成分および 16 進数カラー コードは、カスタム色を指定するのに役立ちます。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

パッチのカラー データ。パッチ全体の単一の色、面ごとの 1 つの色または頂点ごとの 1 つの色として指定します。

関数 patchCData を解釈する方法は、与えられたデータの型に依存します。CData は次のいずれかの形式で指定します。

  • 現在のカラーマップに線形にマップするためにスケーリングされる数値。

  • 現在のカラーマップへのインデックスとして直接使用される整数値。

  • RGB 3 成分の配列。RGB 3 成分は、現在のカラーマップにはマッピングされず、定義された色として解釈されます。

CData の次元と XDataYDataZData プロパティの配列との関係について以下の図で説明します。

次の図は、インデックス カラーを使用する場合について示しています。

次の図は、トゥルーカラーを使用する場合について示しています。トゥルーカラーは単一の RGB 3 成分または RGB 3 成分の配列を必要とします。

CData に NaN が含まれている場合、patch の面には色は付きません。

パッチを定義する別の方法では、FacesVertices および FaceVertexCData プロパティを使用します。

例: [1,0,0]

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

面と頂点の色。パッチ全体の単一の色、面ごとの 1 つの色または内挿された面の色のための頂点ごとの 1 つの色として指定します。

インデックス カラーを使用する場合は、次のいずれかの形式で FaceVertexCData を指定します。

  • パッチ全体を単一の色にするには、単一の値を使用します。

  • 面ごとに 1 つの色にするには、m 行 1 列の列ベクトルを使用します。ここで m は Faces プロパティの行数です。

  • 内挿された面の色にするには、m 行 1 列の列ベクトルを使用します。ここで m は Vertices プロパティの行数です。

トゥルーカラーを使用する場合は、次のいずれかの形式で FaceVertexCData を指定します。

  • すべての面を 1 つの色にするには、RGB 3 成分を定義する 3 成分の行ベクトルを指定します。これを行う場合、さらに FaceColor'flat' に、EdgeColor'flat' または 'interp' 以外の値に設定しなければなりません。

  • 面ごとに 1 つの色にするには、RGB 3 成分を表す m 行 3 列の 配列を使用します。ここで m は Faces プロパティの行数です。

  • 内挿された面の色にするには、m 行 3 列の配列を使用します。ここで m は Vertices プロパティの行数です。

次の図は、8 個の面と 9 個の頂点をもつパッチの FaceVertexCData プロパティのさまざまな型を示します。CDataMapping プロパティは、インデックス付き色を指定したときに、MATLAB が FaceVertexCData プロパティをどのように解釈するかを決定します。

直接的またはスケーリングによるカラー データ マッピング。'scaled' (既定値) または 'direct' で指定します。CData プロパティおよび FaceVertexCData プロパティにカラー データが含まれています。CData または FaceVertexCData でトゥルーカラーを指定する場合、このプロパティは影響しません。

  • 'direct' — 現在のカラーマップのインデックスとして値を解釈します。小数部分の値は、最近傍値の小さい方の整数に丸められます。

    • 値が double 型または single 型の場合、1 以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色にマッピングされます。

    • 値が uint8uint16uint32uint64int8int16int32 または int64 型の場合、0 以下の値はカラーマップの最初の色にマッピングされます。カラーマップの長さ以上の値は、カラーマップの最後の色にマッピングされます (またはその型の範囲の上限値)。

    • 値が logical 型の場合、0 の値はカラーマップの最初の色にマッピングされ、1 の値はカラーマップの 2 番目の色にマッピングされます。

  • 'scaled' — 色の最小値と最大値の間の範囲に値がスケーリングされます。座標軸の CLim プロパティには色の範囲が含まれています。

透明度

すべて展開する

面の透明度。次の値のいずれかとして指定します。

  • 範囲 [0,1] のスカラー — すべての面に一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。このオプションは FaceVertexAlphaData プロパティの透明度値を使用しません。

  • 'flat'FaceVertexAlphaData プロパティの値に基づいて面ごとに異なる透明度を使用します。まず、FaceVertexAlphaData プロパティを、面または頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。面全体の透明度は、最初の頂点の透明度値によって決まります。

  • 'interp'FaceVertexAlphaData プロパティの値に基づいて面ごとに内挿された透明度を使用します。まず、FaceVertexAlphaData プロパティを、頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。頂点の値を内挿することにより、各面に異なる透明度が使用されます。

エッジのラインの透明度。次の値のいずれかとして指定します。

  • [0,1] の範囲内のスカラー値 — すべてのエッジに一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。このオプションは FaceVertexAlphaData プロパティの透明度値を使用しません。

  • 'flat'FaceVertexAlphaData プロパティの値に基づいてエッジごとに異なる透明度を使用します。まず、FaceVertexAlphaData プロパティを、面または頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。エッジの透明度は最初の頂点の透明度値によって決まります。

  • 'interp'FaceVertexAlphaData プロパティの値に基づいて、エッジごとに内挿した透明度を使用します。まず、FaceVertexAlphaData プロパティを、頂点ごとに 1 つの透明度値を含むベクトルとして指定しなければなりません。エッジごとに異なる透明度を使用するには、それぞれの頂点の値を内挿します。

面と頂点の透明度値。スカラー、面ごとに 1 つの値をもつベクトル、頂点ごとに 1 つの値をもつベクトルのいずれかとして指定します。

  • すべての面またはエッジに一様な透明度を使用するには、スカラー値を指定します。その後、FaceAlpha または EdgeAlpha プロパティを 'flat' に設定します。

  • 面またはエッジごとに異なる透明度を使用するには、m 行 1 列のベクトルを指定します。ここで m は面の数です。その後、FaceAlpha または EdgeAlpha プロパティを 'flat' に設定します。面の数を判別するには、Faces プロパティにある行の数をクエリします。

  • 面またはエッジごとに透明度を内挿するには、n 行 1 列のベクトルを指定します。ここで n は頂点の数です。その後、FaceAlpha または EdgeAlpha プロパティを 'interp' に設定します。頂点の数を判別するには、Vertices プロパティにある行の数をクエリします。

AlphaDataMapping プロパティは、パッチが FaceVertexAlphaData プロパティ値を解釈する方法を指定します。

メモ

FaceAlpha および EdgeAlpha プロパティの両方がスカラー値に設定されている場合、パッチは FaceVertexAlphaData の値を使用しません。

FaceVertexAlphaData の値の解釈。次の値のいずれかとして指定します。

  • 'none' — 値を透明度値として解釈します。1 以上の値は完全に不透明に、0 以下の値は完全に透明に、0 と 1 の間の値は半透明になります。

  • 'scaled' — 値を Figure の alphamap にマッピングします。座標軸のアルファ値の範囲の最小値と最大値によって、alphamap の最初と最後の要素にマッピングされるアルファ データ値が決まります。たとえば、アルファ値の範囲が [3 5] の場合、3 以下のアルファ データ値は alphamap の最初の要素にマッピングされます。また、5 以上のアルファ データ値は、alphamap の最後の要素にマッピングされます。座標軸の ALim プロパティにはアルファ値の範囲が含まれています。Figure の Alphamap プロパティには alphamap が含まれています。

  • 'direct' — Figure の alphamap のインデックスとして値を解釈します。小数部分の値は、最近傍値の小さい方の整数に丸められます。

    • 値が double 型または single 型の場合、1 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素にマッピングされます。

    • 値が整数型の場合、0 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素 (またはその型の範囲の上限) にマッピングされます。整数型は uint8uint16uint32uint64int8int16int32int64 です。

    • 値が logical 型の場合、0 の値は alphamap の最初の要素に、1 の値は alphamap の 2 番目の要素にマッピングされます。

ライン スタイル

すべて展開する

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

ライン スタイル説明結果として得られる線
'-'実線

'--'破線

':'点線

'-.'一点鎖線

'none'ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。

ラインの角のスタイル。'round''miter''chamfer' のいずれかに指定します。次の表に、各値によって指定される外観を示します。

'round''miter''chamfer'

Figure の Renderer プロパティが 'painters' ではなく 'opengl' に設定されている場合、'round' オプションの外観は異なる場合があります。

垂直および水平のラインのシャープ化。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — 垂直および水平のラインをシャープ化して不均一な外観を取り除きます。

  • 'off' — 垂直または水平のラインをシャープ化しません。均一でない太さや色でラインが表示される場合があります。

関連付けられている Figure の GraphicsSmoothing プロパティが 'on' に設定されていて Renderer プロパティが 'opengl' に設定されている場合、Figure のプロットには平滑化技法が適用されます。場合によってはこの平滑化技法が原因で、垂直および水平のラインが均一でない太さや色で表示されることがあります。この不均一な外観を取り除くために AlignVertexCenters プロパティを使用します。

メモ

この機能をサポートするグラフィックス カードがなければなりません。この機能がサポートされているかどうかを確認するには、関数 rendererinfo を呼び出します。サポートされている場合、rendererinfoinfo.Details.SupportsAlignVertexCenters1 の値を返します。

マーカー

すべて展開する

マーカー記号。次の表に挙げる値のいずれかとして指定します。既定では、オブジェクトはマーカーを表示しません。マーカー記号を指定すると、各データ点または各頂点にマーカーが追加されます。

説明
'o'
'+'プラス記号
'*'アスタリスク
'.'
'x'十字
'square' または 's'正方形
'diamond' または 'd'菱形
'^'上向き三角形
'v'下向き三角形
'>'右向き三角形
'<'左向き三角形
'pentagram' または 'p'星形五角形
'hexagram' または 'h'星形六角形
'none'マーカーなし

マーカー サイズ。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

マーカーの輪郭の色。'auto''flat'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。'auto' オプションは、EdgeColor プロパティと同じ色を使用します。'flat' オプションは頂点の CData の値を使用して色を設定します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

マーカーの塗りつぶし色。'auto''flat'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。'auto' オプションは座標軸の Color プロパティと同じ色を使用します。'flat' オプションは頂点の CData の値を使用して色を設定します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

このプロパティは円、正方形、菱形、星形五角形、星形六角形、4 種類の三角形のマーカー タイプにのみ影響します。

例: [0.3 0.2 0.1]

例: 'green'

例: '#D2F9A7'

データ

すべて展開する

各面を定義する頂点の連結。各面を構成するための Vertices プロパティ内の頂点の結合を定義するベクトルまたは行列として指定します。FacesVertices プロパティは、多くの場合、XDataYData、および ZData 座標を使用する方法よりも、効率的なパッチの指定方法です。

配列 faces の各行は、1 つの面に対する連結を指定し、行内の NaN ではない要素の数が、その面の頂点の数を定義します。このため m 行 n 列の配列 Faces は、それぞれ最大 n 個の頂点を含む m 個の面を定義します。

たとえば、次のパッチを考えます。これは、9 個の頂点で定義した 8 個の三角形の面から成ります。対応する Faces および Vertices プロパティを、パッチの右側に示します。ある面がどのように他の面と頂点を共有するかを注意してください。たとえば、5 番目の頂点 (V5) は、面 1、2、3、6、7 および 8 にそれぞれ 1 回、計 6 回使われています。頂点を共有しない場合、これと同じパッチは 24 個の頂点を定義する必要があります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

頂点の座標。各頂点の (x,y,z) 座標を定義するベクトルまたは行列として指定します。FacesVertices プロパティは、多くの場合、XDataYData、および ZData 座標を使用する方法よりも、効率的なパッチの指定方法です。頂点データの使用方法については、Faces プロパティを参照してください。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

パッチの頂点の x 座標。ベクトルまたは行列として指定します。XData が行列の場合、各列がパッチの 1 つの面の x 座標を表します。この場合、XDataYData、および ZData は、同じ次元でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

パッチを定義する y 座標。ベクトルまたは行列として指定します。YData が行列の場合、各列がパッチの 1 つの面の y 座標を表します。この場合、XDataYData、および ZData は、同じ次元でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

パッチの頂点の z 座標。ベクトルまたは行列として指定します。ZData が行列の場合、各列がパッチの 1 つの面の z 座標を表します。この場合、XDataYData、および ZData は、同じ次元でなければなりません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

法線

すべて展開する

頂点の法線ベクトル。パッチの頂点ごとに 1 つの法線ベクトルをもつ法線ベクトルの配列として指定します。Vertices プロパティ値のサイズによって決まるパッチの頂点ごとに 1 つの法線を定義します。頂点の法線はパッチの形状と向きを決定します。このデータはライティングの計算に使用されます。

このプロパティの値を設定すると、対応するモード プロパティが manual に設定されます。法線ベクトルを指定しない場合、座標軸が light オブジェクトを含んでいるときにはパッチによってこのデータが生成されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

VertexNormals の選択モード。次の値のいずれかとして指定します。

  • 'auto' — シーンにライトを追加したときに、関数 patch によって頂点の法線を計算します。

  • 'manual'VertexNormals プロパティで指定されている頂点の法線データを使用します。VertexNormals プロパティに値を代入すると、VertexNormalsMode'manual' に設定されます。

面法線ベクトル。パッチの面ごとに 1 つの法線ベクトルをもつ法線ベクトルの配列として指定します。Faces プロパティ値のサイズによって決まるパッチの面ごとに 1 つの法線を定義します。面法線はそれぞれのパッチの面の向きを決定します。このデータはライティングの計算に使用されます。

このプロパティの値を設定すると、対応するモード プロパティが manual に設定されます。法線ベクトルを指定しない場合、座標軸が light オブジェクトを含んでいるときにはパッチによってこのデータが生成されます。パッチの面法線は、Newell の方法を使用して計算されます。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

FaceNormals の選択モード。次の値のいずれかとして指定します。

  • 'auto' — シーンにライトを追加したときに、関数 patch によって面法線を計算します。

  • 'manual'FaceNormals プロパティで指定されている面法線データを使用します。FaceNormals プロパティに値を代入すると、FaceNormalsMode'manual' に設定されます。

ライティング

すべて展開する

面に対する light オブジェクトの効果。次の値のいずれかとして指定します。

  • 'flat' — 各面にライトを一様に適用します。この値は小平面で構成されたオブジェクトを表示する場合に使用します。

  • 'gouraud' — 面のライトを変化させます。各頂点のライトを計算し、面上でライトを線形内挿します。この値は曲面を表示する場合に使用します。

  • 'none' — light オブジェクトのライトを面に適用しません。

light オブジェクトを座標軸に追加するには、関数 light を使用します。

メモ

'phong' は削除されました。代わりに 'gouraud' を使用してください。

頂点の法線がカメラと反対方向の場合の面のライティング方法。次の値の 1 つとして指定します。

  • 'reverselit' — 頂点法線がカメラに向かっているかのように面をライティングします。

  • 'unlit' — 面をライティングしません。

  • 'lit' — 頂点法線に従って面をライティングします。

このプロパティを使用すると、オブジェクトの内部と外部を見分けられます。例については、背面ライティングを参照してください。

エッジに対する light オブジェクトの効果。次の値のいずれかとして指定します。

  • 'flat' — 各エッジにライトを一様に適用します。

  • 'none' — light オブジェクトのライトをエッジに適用しません。

  • 'gouraud' — 各頂点のライトを計算し、エッジ上でライトを線形内挿します。

メモ

'phong' は削除されました。代わりに 'gouraud' を使用してください。

周囲光の強度。[0,1] の範囲のスカラー値として指定します。周囲光は場面全体を照らす方向性のない光です。周囲光が視覚可能であるためには、座標軸に対して少なくとも 1 つの視覚可能な light オブジェクトがなければなりません。

周囲光の色は座標軸の AmbientLightColor プロパティで設定します。座標軸のすべてのオブジェクトに同じ色が使用されます。

例: 0.5

データ型: double

拡散光の強度。[0,1] の範囲のスカラー値として指定します。拡散光は座標軸の light オブジェクトからの非鏡面反射です。

例: 0.3

データ型: double

鏡面反射の強度。[0,1] の範囲のスカラー値として指定します。鏡面反射は座標軸の light オブジェクトが照らす表面上の部分です。

例: 0.3

データ型: double

鏡面反射の膨張性。0 よりも大きいスカラー値で指定します。SpecularExponent は鏡面反射スポットのサイズを制御します。値を大きくすると鏡面反射は小さくなります。

ほとんどが、5 から 20 の範囲の指数です。

例: 17

データ型: double

鏡面反射の色。0 以上 1 以下のスカラーとして指定します。

  • 0 — 鏡面反射の色は、反射するオブジェクトの色と光源の色の両方に依存します。

  • 1 — 鏡面反射の色は、光源の色 (つまり、light オブジェクトの Color プロパティ) のみに依存します。

鏡面反射の色に対する光源の色とパッチの色の寄与は、01 の間で線形に変化します。

例: 0.5

データ型: single | double

凡例

すべて展開する

凡例ラベル。文字ベクトルまたは string スカラーとして指定します。legend コマンドを呼び出すまで、凡例は表示されません。テキストを指定しない場合、legend'dataN' 形式を使用してラベルを設定します。

このプロパティは読み取り専用です。

凡例にオブジェクトを含めるか除外するかの制御。Annotation オブジェクトとして返されます。基となる IconDisplayStyle プロパティを次のいずれかの値に設定します。

  • 'on' — 凡例にオブジェクトを含めます (既定)。

  • 'off' — 凡例にオブジェクトを含めません。

たとえば、グラフィックス オブジェクト go を凡例から除外するには、IconDisplayStyle プロパティを 'off' に設定します。

go.Annotation.LegendInformation.IconDisplayStyle = 'off';

あるいは、関数 legend を使用して、凡例内の項目を制御することもできます。最初の入力引数を、含めるグラフィックス オブジェクトのベクトルとして指定します。最初の入力引数に既存のグラフィックス オブジェクトを指定しない場合、それは凡例に表示されません。ただし、凡例が作成された後に座標軸に追加されたグラフィックス オブジェクトは凡例には表示されません。追加の項目を避けるには、すべてのプロットを作成した後に凡例を作成することを考慮してください。

対話機能

すべて展開する

可視性の状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — オブジェクトを表示します。

  • 'off' — オブジェクトを削除せずに非表示にします。非表示のオブジェクトのプロパティには引き続きアクセスできます。

データ ヒントの内容。DataTipTemplate オブジェクトとして指定します。基となる DataTipTemplate オブジェクトのプロパティを変更することにより、データ ヒントに表示される内容を制御できます。プロパティの一覧については、DataTipTemplate のプロパティ を参照してください。

データ ヒントの変更の例については、カスタム データ ヒントの作成を参照してください。

このプロパティは、データ ヒントが固定されたパッチにのみ適用されます。

メモ

DataTipTemplate オブジェクトは findobj または findall によって返されず、copyobj によってコピーされません。

コンテキスト メニュー。ContextMenu オブジェクトとして指定します。このプロパティは、オブジェクトを右クリックしたときにコンテキスト メニューを表示するために使用します。関数 uicontextmenu を使用して、コンテキスト メニューを作成します。

メモ

PickableParts プロパティが 'none' に設定されている場合または HitTest プロパティが 'off' に設定されている場合には、このコンテキスト メニューは表示されません。

選択状態。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' — 選択されています。プロット編集モードでオブジェクトをクリックした場合、MATLAB は Selected プロパティを 'on' に設定します。SelectionHighlight プロパティも 'on' に設定されている場合、MATLAB はオブジェクトの周囲に選択ハンドルを表示します。

  • 'off' — 選択されていません。

選択時の選択ハンドルの表示。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on'Selected プロパティが 'on' に設定されているときに選択ハンドルを表示します。

  • 'off'Selected プロパティが 'on' に設定されている場合でも選択ハンドルを表示しません。

座標軸の範囲でのオブジェクトのクリップ。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on' の値は座標軸の範囲外になるオブジェクトの部分をクリップします。

  • 'off' の値は座標軸の範囲外に表示される部分があってもオブジェクト全体を表示します。プロットの作成、hold on の設定、座標軸のスケーリングの固定を行ってから、元のプロットよりも大きくなるようにオブジェクトを作成した場合、オブジェクトの一部が座標軸の範囲の外に表示されることがあります。

オブジェクトを含む座標軸の Clipping プロパティは 'on' に設定しなければなりません。そうしない場合、このプロパティの効果はありません。クリップ動作の詳細については、座標軸の Clipping プロパティを参照してください。

コールバック

すべて展開する

マウスクリック コールバック。次の値のいずれかとして指定します。

  • 関数ハンドル

  • 関数ハンドルと追加の引数を含む cell 配列

  • ベース ワークスペース内で評価される有効な MATLAB コマンドまたは MATLAB 関数の文字ベクトル (非推奨)

このプロパティは、オブジェクトをクリックしたときにコードを実行するために使用します。関数ハンドルを使用してこのプロパティを指定した場合、MATLAB はコールバックを実行するときに次の 2 つの引数をコールバック関数に渡します。

  • クリックしたオブジェクト — コールバック関数内から、クリックしたオブジェクトのプロパティにアクセスします。

  • イベント データ — 空の引数です。この引数が使用されないことを示すために、関数定義の中でこの引数をチルダ文字 (~) に置換します。

関数ハンドルを使用してコールバック関数を定義する方法についての詳細は、コールバック定義を参照してください。

メモ

PickableParts プロパティが 'none' に設定されている場合または HitTest プロパティが 'off' に設定されている場合には、このコールバックは実行されません。

オブジェクト作成関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、コールバック定義を参照してください。

このプロパティは、MATLAB がオブジェクトを作成するときに実行されるコールバック関数を指定します。MATLAB は CreateFcn コールバックを実行する前に、すべてのプロパティ値を初期化します。CreateFcn プロパティを指定しない場合、MATLAB は既定の作成関数を実行します。

既存のコンポーネントに CreateFcn プロパティを設定しても効果はありません。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、作成中のオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

オブジェクト削除関数。次の値のいずれかとして指定します。

  • 関数ハンドル。

  • 最初の要素が関数ハンドルである cell 配列。cell 配列内のその後の要素はコールバック関数に渡される引数です。

  • 有効な MATLAB 式を含む文字ベクトル (非推奨)。MATLAB は、この式をベース ワークスペースで評価します。

コールバックを関数ハンドル、cell 配列、または文字ベクトルとして指定する方法の詳細については、コールバック定義を参照してください。

このプロパティは、MATLAB がオブジェクトを削除するときに実行されるコールバック関数を指定します。MATLAB は、オブジェクトのプロパティを破棄する前に DeleteFcn コールバックを実行します。DeleteFcn プロパティを指定しない場合、MATLAB は既定の削除関数を実行します。

このプロパティを関数ハンドルまたは cell 配列として指定した場合、コールバック関数の最初の引数を使用して、削除されるオブジェクトにアクセスできます。それ以外の場合は、関数 gcbo を使用してオブジェクトにアクセスします。

コールバック実行制御

すべて展開する

コールバックの割り込み。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティは実行中のコールバックが割り込み可能かどうかを決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバック (がある場合) に割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込み可能かどうかを決定します。

  • 値が 'on' の場合、他のコールバックがオブジェクトのコールバックに割り込むことができます。割り込みは、drawnowfigureuifiguregetframewaitforpause コマンドなどの、MATLAB が次にキューを処理するポイントで発生します。

    • 実行中のコールバックにこれらのいずれかのコマンドが含まれている場合、MATLAB はそのポイントでコールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了すると、MATLAB は実行中だったコールバックの実行を再開します。

    • 実行中のコールバックにこれらのコマンドが含まれていない場合、MATLAB はそのコールバックの実行を割り込みなしで完了します。

  • 値が 'off' の場合、割り込みの試行はすべてブロックされます。割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、その割り込みコールバックを破棄するかキューに入れるかを決定します。

メモ

コールバックの割り込みと実行は、以下の状況では動作が異なります。

  • 割り込みコールバックが DeleteFcnCloseRequestFcn または SizeChangedFcn の各コールバックの場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • 実行中のコールバックが関数 waitfor を現在実行している場合、Interruptible プロパティの値にかかわらず割り込みが発生します。

  • Timer オブジェクトは、Interruptible プロパティ値にかかわらず、スケジュールに従って実行されます。

MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca コマンドや gcf コマンドから返されたオブジェクトは、別のコールバックを実行するときに変更されている可能性があります。

コールバック キューイング。'queue' または 'cancel' として指定します。BusyAction プロパティは MATLAB による割り込みコールバックの実行の処理方法を決定します。次の 2 つのコールバックの状態について考慮する必要があります。

  • "実行中" コールバックは、現在実行しているコールバックです。

  • "割り込み" コールバックは、実行中のコールバックに割り込もうとするコールバックです。

MATLAB がコールバックを呼び出すたびに、そのコールバックは実行中のコールバックに割り込もうとします。実行中のコールバックを所有するオブジェクトの Interruptible プロパティが、割り込みを許可するかどうかを決定します。割り込みが許可されない場合は、割り込みコールバックを所有するオブジェクトの BusyAction プロパティが、そのコールバックを破棄するかキューに入れるかを決定します。BusyAction プロパティは次の値を取ることができます。

  • 'queue' — 割り込みコールバックをキューに入れ、実行中のコールバックが終了した後に処理されるようにします。

  • 'cancel' — 割り込みコールバックを実行しません。

マウス クリック キャプチャ機能。次の値の 1 つとして指定します。

  • 'visible' — 表示されている場合にマウス クリックをキャプチャします。Visible プロパティが 'on' に設定されていなければならず、Patch オブジェクトの色が定義されている部分をクリックしなければなりません。関連付けられている色のプロパティが 'none' に設定されている部分をクリックすることはできません。プロットにマーカーが含まれている場合は、エッジまたは塗りつぶしのいずれかに色が定義されている場合にマーカー全体がクリック可能になります。Patch オブジェクトがクリックに応答するか、先祖がクリックに応答するかは、HitTest プロパティが決定します。

  • 'all' — 表示状態に関係なくマウス クリックをキャプチャします。Visible プロパティを 'on' または 'off' に設定でき、色が設定されていない Patch オブジェクトの一部をクリックできます。Patch オブジェクトがクリックに応答するか、先祖がクリックに応答するかは、HitTest プロパティが決定します。

  • 'none' — マウス クリックをキャプチャしません。Patch オブジェクトをクリックすると、Figure ウィンドウの現在のビュー内でその下にあるオブジェクトまでクリックが渡されます。HitTest プロパティは無効になります。

キャプチャしたマウス クリックへの応答。'on' または 'off'、もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

  • 'on'Patch オブジェクトの ButtonDownFcn コールバックをトリガーします。ContextMenu プロパティが定義されている場合は、コンテキスト メニューを呼び出します。

  • 'off'Patch オブジェクトの先祖のうち、次のいずれかの条件を満たす最も近い先祖のコールバックをトリガーします。

    • HitTest プロパティが 'on' に設定されている

    • PickableParts プロパティが、先祖によるマウス クリックのキャプチャを有効にする値に設定されている

メモ

PickableParts プロパティは、Patch オブジェクトがマウス クリックをキャプチャできるかどうかを決定します。キャプチャできない場合、HitTest プロパティは無効です。

このプロパティは読み取り専用です。

削除状態。matlab.lang.OnOffSwitchState 型の on/off logical 値として返されます。

MATLAB は、DeleteFcn コールバックが実行を開始すると、BeingDeleted プロパティを 'on' に設定します。コンポーネント オブジェクトが存在しなくなるまで BeingDeleted プロパティは 'on' に設定されたままです。

クエリや変更の前にオブジェクトが削除されようとしていないか確認するために BeingDeleted プロパティの値をチェックします。

親/子

すべて展開する

親。AxesGroup または Transform オブジェクトとして指定します。

子。空の GraphicsPlaceholder 配列、または DataTip オブジェクト配列として返されます。このプロパティを使用して、チャートにプロットされるデータ ヒントのリストを表示します。

Children プロパティを使用して子の追加や削除を行うことはできません。このリストに子を追加するには、DataTip オブジェクトの Parent プロパティをチャート オブジェクトに設定します。

親の Children プロパティ内でのオブジェクト ハンドルの可視性。次の値のいずれかとして指定します。

  • 'on' — オブジェクト ハンドルは常に表示されます。

  • 'off' — オブジェクト ハンドルは常に非表示です。このオプションは、他の関数による意図しない変更を防止するために役立ちます。HandleVisibility'off' に設定すると、その関数の実行中にハンドルが一時的に非表示になります。

  • 'callback' — オブジェクト ハンドルはコールバック内から、あるいはコールバックにより呼び出される関数から参照できます。しかし、コマンド ラインから呼び出される関数からは参照できません。このオプションを使用すると、コマンド ラインからのオブジェクトへのアクセスがブロックされますが、コールバック関数からのアクセスは許可されます。

オブジェクトが親の Children プロパティ内にリストされない場合、オブジェクト階層の検索またはハンドル プロパティのクエリによってオブジェクト ハンドルを取得する関数は、そのオブジェクト ハンドルを返しません。こうした関数の例としては、関数 getfindobjgcagcfgconewplotclaclf、および close などが挙げられます。

非表示のオブジェクト ハンドルは有効なままです。ルートの ShowHiddenHandles プロパティを 'on' に設定すると、HandleVisibility プロパティの設定にかかわらず、すべてのオブジェクト ハンドルがリストされます。

識別子

すべて展開する

このプロパティは読み取り専用です。

グラフィックス オブジェクトのタイプ。'patch' として返されます。プロット階層内にある特定のタイプのすべてのオブジェクトを検出するためにこのプロパティを使用できます。たとえば findobj を使用してタイプを検索します。

オブジェクト識別子。文字ベクトルまたは string スカラーとして指定します。オブジェクトの識別子として機能する一意の Tag 値を指定できます。コードの他の部分からオブジェクトにアクセスする必要がある場合、関数 findobj を使用して Tag 値に基づいてオブジェクトを検索できます。

ユーザー データ。任意の MATLAB 配列として指定します。たとえば、スカラー、ベクトル、行列、cell 配列、文字配列、table、または構造体を指定できます。このプロパティを使用して、任意のデータをオブジェクトに保存します。

App Designer を使用している場合は、UserData プロパティを使用する代わりに、アプリでパブリック プロパティまたはプライベート プロパティを作成してデータを共有します。詳細については、App Designer アプリ内でのデータの共有を参照してください。

互換性についての考慮事項

すべて展開する

R2020a 以降は非推奨

R2006a より前に導入