Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Histogram2 のプロパティ

二変量ヒストグラムの外観と動作

Histogram2 プロパティはヒストグラムの外観と動作を制御します。プロパティの値を変更することによって、ヒストグラムの要素を変更できます。ドット表記を使用して、特定のオブジェクトとプロパティを参照します。

h = histogram2(randn(10,1),randn(10,1));
c = h.NumBins;
h.NumBins = [4 7];

ビン

すべて展開する

各次元のビンの数。正の整数の 2 要素ベクトルとして指定します。最初の要素は x 次元のビンの数を指定し、2 番目の要素は y 次元のビンの数を指定します。

NumBins を指定しない場合、histogram2XY の値に基づいて使用するビンの数を自動的に計算します。

NumBinsBinMethod または BinWidth と一緒に指定した場合、histogram2 は最後のパラメーターのみに従います。

例: histogram2(X,Y,'NumBins',[10 20])

各次元のビンの幅。正の値の 2 要素ベクトルとして指定します。最初の要素は x 次元のビンの幅を指定し、2 番目の要素は y 次元のビンの幅を指定します。

BinWidth を指定した場合、histogram2 は各次元で最大 1024 (210) 個のビンを使用できます。指定したビンの幅によってさらに多くのビンが必要となる場合、histogram2 は最大のビン数に対応する、より大きなビンの幅を使用します。

BinWidthBinMethod または NumBins と一緒に指定した場合、histogram2 は最後のパラメーターのみに従います。

例: histogram2(X,Y,'BinWidth',[5 10])x 次元のサイズが 5y 次元のサイズが 10 のビンを使用します。

x 次元のビンのエッジ。ベクトルとして指定します。Xedges(1) は x 次元の最初のビンの最初のエッジであり、Xedges(end) は最後のビンの外側のエッジです。

Xedges(i)X(k) < Xedges(i+1) かつ Yedges(j)Y(k) < Yedges(j+1) の場合、値 [X(k),Y(k)](i,j) 番目のビンに含まれます。各次元の最後のビンは、最後 (外側) のエッジも含みます。たとえば、[X(k),Y(k)] は、Xedges(end-1)X(k)Xedges(end) かつ Yedges(i)Y(k) < Yedges(i+1) の場合に最後の行の i 番目のビンに分類されます。

XBinEdgesYBinEdgesBinMethodBinWidth、または NumBins と一緒に指定した場合、histogram2 はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。XBinEdgesXBinLimits と一緒に指定した場合、histogram2XBinEdges のみに従い、XBinEdges は最後に指定する必要があります。

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

y 次元のビンのエッジ。ベクトルとして指定します。Yedges(1) は y 次元の最初のビンの最初のエッジであり、Yedges(end) は最後のビンの外側のエッジです。

Xedges(i)X(k) < Xedges(i+1) かつ Yedges(j)Y(k) < Yedges(j+1) の場合、値 [X(k),Y(k)](i,j) 番目のビンに含まれます。各次元の最後のビンは、最後 (外側) のエッジも含みます。たとえば、[X(k),Y(k)] は、Xedges(end-1)X(k)Xedges(end) かつ Yedges(i)Y(k) < Yedges(i+1) の場合に最後の行の i 番目のビンに分類されます。

XBinEdgesYBinEdgesBinMethodBinWidth、または NumBins と一緒に指定した場合、histogram2 はビンのエッジのみに従い、ビンのエッジは最後に指定する必要があります。YBinEdgesYBinLimits と一緒に指定した場合、histogram2YBinEdges のみに従い、YBinEdges は最後に指定する必要があります。

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

x 次元のビンの範囲。2 要素ベクトル [xbmin,xbmax] として指定します。最初の要素は、x 次元の最初のビンのエッジを示します。2 番目の要素は、x 次元の最後のビンのエッジを示します。

このオプションを使用すると、ビンの範囲 X>=xbmin & X<=xbmax に含まれるデータのみがビンに入れられます。

x 次元のビンの範囲の選択モード。'auto' または 'manual' として指定します。既定値は 'auto' であり、ビンの範囲は x 軸方向のデータに合わせて自動的に調整されます。

XBinLimits または XBinEdges を明示的に指定した場合、XBinLimitsMode は自動的に 'manual' に設定されます。この場合に XBinLimitsMode'auto' に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。

y 次元のビンの範囲。2 要素ベクトル [ybmin,ybmax] として指定します。最初の要素は、y 次元の最初のビンのエッジを示します。2 番目の要素は、y 次元の最後のビンのエッジを示します。

このオプションを使用すると、ビンの範囲 Y>=ybmin & Y<=ybmax に含まれるデータのみがビンに入れられます。

y 次元のビンの範囲の選択モード。'auto' または 'manual' として指定します。既定値は 'auto' であり、ビンの範囲は y 軸方向のデータに合わせて自動的に調整されます。

YBinLimits または YBinEdges を明示的に指定した場合、YBinLimitsMode は自動的に 'manual' に設定されます。この場合に YBinLimitsMode'auto' に指定すると、ビンの範囲はデータに合わせて再びスケーリングされます。

ビン化アルゴリズム。次の表のいずれかの値を指定します。

説明
'auto'

既定値の 'auto' アルゴリズムは、データの範囲をカバーするビンの幅を選択することで、基となる分布の形状を明らかにします。

'scott'

スコットの法則はデータが正規分布に近い場合に最適です。この規則は他の多くの分布にも適しています。ビンのサイズとして [3.5*std(X(:))*numel(X)^(-1/4), 3.5*std(Y(:))*numel(Y)^(-1/4)] を使用します。

'fd'

Freedman-Diaconis の法則は、データの外れ値の影響を受けにくく、裾が大きい分布をもつデータにより適しています。ビンのサイズとして [2*iqr(X(:))*numel(X)^(-1/4), 2*iqr(Y(:))*numel(Y)^(-1/4)] を使用します。

'integers'

整数ルールは整数のペアを中心にしてビンを作成するので、整数データの場合に便利です。各次元に幅が 1 のビンを使用し、ビンのエッジを整数の中間に設定します。

誤って多すぎるビンを作成しないように、このルールを使用して作成するビンを 1024 (210) 個以下に制限できます。いずれかの次元のデータの範囲が 1024 よりも大きい場合、整数ルールは代わりに幅の広いビンを使用します。

  • histogram2 は、これらの式を厳密に使用するのではなく、ビンのエッジが "きりのよい" 数字になるように、ビンの数をわずかに調整します。

  • NumBinsXBinEdgesYBinEdgesBinWidthXBinLimits、または YBinLimits プロパティを設定した場合、BinMethod'manual' に設定されます。

  • BinMethodBinWidth または NumBins と一緒に指定した場合、histogram2 は最後のパラメーターのみに従います。

例: histogram2(X,Y,'BinMethod','integers') は 2 次元ビンの中心を各整数ペアとします。

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

例: histogram2(X,Y,'ShowEmptyBins','on') は空のビンの表示をオンにします。

データ

すべて展開する

ビンに分散させるデータ。m2 列の行列として指定します。histogram2XY の入力は、Data の列に対応します。つまり、Data(:,1)X(:) であり、Data(:,2)Y(:) です。

histogram2 はすべての NaN 値を無視します。同様にビンのエッジとして明示的に Inf または -Inf を指定しない限り、histogram2Inf 値および -Inf 値を無視します。通常、NaN 値、Inf 値、-Inf 値はプロットされませんが、'probability' などのデータ要素の総数を含む正規化計算に引き続き含まれます。

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

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

ビンの値。数値行列として返されます。Normalization'count' の場合、Values(i,j) 番目の要素は、x のエッジが [Xedges(i), Xedges(i+1)] で y のエッジが [Yedges(j), Yedges(j+1)] のビンのカウント数を指定します。

Normalization の値によっては、Values プロパティは代わりにビンのカウント数の正規化されたバリアントを含むことができます。

Values の異なる番号をもつビンに対するビン包含スキームと、ビンの x 軸および y 軸に対する相対方向は次のとおりです。

たとえば、(1,1) のビンは各次元の最初のエッジ上にある値を含み、右下の最後のビンはその任意のエッジ上にある値をすべて含みます。

正規化のタイプ。次の表のいずれかの値を指定します。各ビン i に対して次のようになります。

  • vi はビンの値です。

  • ci はビン内の要素数です。

  • Ai=wxiwyi はビンの面積で、ビンの幅 x と y を使用して計算されます。

  • N は入力データ内の要素数です。データに欠損値が含まれる場合、または一部のデータがビンの範囲外にある場合、この値はビン化されたデータより大きくなることがあります。

ビンの値メモ
'count' (既定)

vi=ci

  • 観測のカウント数または頻度。

  • ビンの値の合計は最大で numel(X) および numel(y) です。合計がこれより小さくなるのは、一部の入力データがビンに含まれていない場合のみです。

'probability'

vi=ciN

  • 相対的確率。

  • 入力データの要素の総数に対する各ビンの要素数は、最大で 1 です。

'percentage'

vi=100*ciN

  • 相対的割合。

  • 各ビンの要素の割合は最大で 100 です。

'countdensity'

vi=ciAi

  • ビンの領域でスケーリングされたカウント数または頻度。

  • N(end,end) は最大で numel(X) および numel(Y) です。

'cumcount'

vi=j=1icj

  • 累積カウント数、つまり x 次元と y 次元の両方の各ビンとそれ以前のすべてのビンの観測数です。

  • N(end,end) は最大で numel(X) および numel(Y) です。

'pdf'

vi=ciNAi

  • 確率密度関数の推定値です。

  • ビンの合計ボリュームは最大で 1 です。

'cdf'

vi=j=1icjN

  • 累積分布関数の推定値です。

  • N(end,end) は最大で 1 です。

例: histogram2(X,Y,'Normalization','pdf') は、確率密度関数の推定値を使用してデータをビン化します。

ビンのカウント数。行列として指定します。ビンのカウント数の計算が個別に実行され、histogram2 でデータのビン化を行わない場合、この入力を使用してビンのカウント数を histogram2 に渡します。

  • counts は各ビンのカウント数を指定できるように、サイズ [nbinsX nbinsY] の行列でなければなりません。

  • x 次元のビン数は length(XBinEdges)-1、y 次元のビン数は length(YBinEdges)-1 です。

  • Values プロパティとは異なり、BinCounts は正規化されません。Normalization'count' の場合、ValuesBinCounts は等価になります。

例: histogram2('XBinEdges',-1:1,'YBinEdges',-2:2,'BinCounts',[1 2 3 4; 5 6 7 8])

ビンのカウント数の選択モード。'auto' または 'manual' として指定します。既定値は 'auto' で、ビンのカウント数は DataXBinEdges および YBinEdges から自動的に計算されます。

BinCounts を指定すると、BinCountsMode は自動的に 'manual' に設定されます。同様に、Data を指定すると、BinCountsMode は自動的に 'auto' に設定されます。

色とスタイル

すべて展開する

ヒストグラムの表示スタイル。'bar3' または 'tile' で指定します。

  • 'bar3' — 3 次元バーを使用してヒストグラムを表示します。

  • 'tile' — ビンの値を示す色をもつタイルの方形配列としてヒストグラムを表示します。

例: histogram2(X,Y,'DisplayStyle','tile') はヒストグラムをタイルの方形配列としてプロットします。

ヒストグラムのバーの色。次の値の 1 つとして指定します。

  • 'none' — バーは塗りつぶされません。

  • 'auto' — ヒストグラムのバーの色が自動的に選択されます (既定値)。

  • RGB 3 成分、16 進数カラー コードまたは色名 — バーは指定した色で塗りつぶされます。

    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"

    Sample of the color red

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

    Sample of the color green

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

    Sample of the color blue

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

    Sample of the color cyan

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

    Sample of the color magenta

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

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

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

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

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

DisplayStyle'stairs' に指定した場合、histogram2FaceColor プロパティを使用しません。

例: histogram2(X,Y,'FaceColor','g') はバーが緑色の二変量ヒストグラム プロットを作成します。

ヒストグラムのエッジの色。次の値の 1 つとして指定します。

  • 'none' — エッジは描画されません。

  • 'auto' — 各エッジの色が自動的に選択されます。

  • RGB 3 成分、16 進数カラー コードまたは色名 — 指定した色がエッジで使用されます。

    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"

    Sample of the color red

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

    Sample of the color green

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

    Sample of the color blue

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

    Sample of the color cyan

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

    Sample of the color magenta

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

    Sample of the color yellow

    "black""k"[0 0 0]"#000000"

    Sample of the color black

    "white""w"[1 1 1]"#FFFFFF"

    Sample of the color white

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

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

    Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

    [0.8500 0.3250 0.0980]"#D95319"

    Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

    [0.9290 0.6940 0.1250]"#EDB120"

    Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

    [0.4940 0.1840 0.5560]"#7E2F8E"

    Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

    [0.4660 0.6740 0.1880]"#77AC30"

    Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

    [0.3010 0.7450 0.9330]"#4DBEEE"

    Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

    [0.6350 0.0780 0.1840]"#A2142F"

    Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

例: histogram2(X,Y,'EdgeColor','r') はバーのエッジが赤い二変量ヒストグラム プロットを作成します。

ヒストグラムのバーの透明度。範囲 [0,1] のスカラー値として指定します。histogram2 は同じ透明度をヒストグラムのすべてのバーで使用します。1 の値は完全な不透明を、0 の値は完全な透明 (非表示) を意味します。

例: histogram2(X,Y,'FaceAlpha',0.5) は半透明のバーをもつ二変量ヒストグラム プロットを作成します。

ヒストグラムのバーのエッジの透明度。範囲 [0,1] のスカラー値として指定します。1 の値は完全な不透明を、0 の値は完全な透明 (非表示) を意味します。

例: histogram2(X,Y,'EdgeAlpha',0.5) はバーのエッジが半透明の二変量ヒストグラム プロットを作成します。

ヒストグラムのバーに対する照明効果。以下のいずれかの値として指定します。

説明
'lit'

疑似照明効果でヒストグラムのバーが表示されます。バーの側面には上面よりも暗い色を使用します。バーは座標軸内の他の光源の影響を受けません。

これは、DisplayStyle'bar3' のときの既定値です。

'flat'

ヒストグラムのバーには自動的に照明が適用されません。他の light オブジェクトが存在する場合、照明効果はバーの面で一様になります。

'none'

ヒストグラムのバーには自動的に照明が適用されず、ライトはヒストグラムのバーに影響しません。

DisplayStyle'tile' の場合、FaceLighting'none' にのみすることができます。

例: histogram2(X,Y,'FaceLighting','none') はヒストグラムのバーの照明をオフにします。

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

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

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

Sample of dash-dotted line, with alternating dashes and dots

"none"ラインなしラインなし

バーの外枠の幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

例: 1.5

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

シリーズ インデックス。正の整数または "none" として指定します。このプロパティは、Histogram2 オブジェクトの面の色を、他のオブジェクトの色と一致するよう再割り当てするのに役立ちます。

既定では、Histogram2 オブジェクトの SeriesIndex プロパティは、1 から始まる、作成順に対応する数値です。MATLAB は、この数値を使用して、プロット関数を呼び出すときに色を割り当てるインデックスを計算します。インデックスは座標軸の ColorOrder プロパティに格納されている配列の行を参照します。同じ SeriesIndex 数値をもつ座標軸内のオブジェクトは同じ色をもちます。

SeriesIndex の値が "none" の場合は、インデックス方式に参加しない中間色に対応します。

手動の色割り当てにより SeriesIndex の動作をオーバーライドする方法

面の色を手動で制御するには、Histogram2 オブジェクトの FaceColor プロパティを色名や RGB 3 成分などのカラー値に設定します。

Histogram2 オブジェクトの面の色を手動で設定すると、MATLAB はそのオブジェクトの色の自動選択を無効にし、SeriesIndex プロパティの値に関係なく色を保持できるようにします。

自動選択を再度有効にするには、SeriesIndex プロパティを正の整数に設定し、FaceColor プロパティを "auto" に設定します。

場合によっては、MATLAB は SeriesIndex 値を 0 に設定し、色の自動選択も無効にします。

凡例

すべて展開する

凡例によって使用されるテキスト。文字ベクトルとして指定します。このテキストは histogram2 のアイコンの隣に表示されます。

例: 'Text Description'

テキストを複数行にする場合、sprintf を使用して改行文字 \n を含む文字ベクトルを作成します。

例: sprintf('line one\nline two')

あるいは、関数 legend を使用して凡例テキストを指定することもできます。

  • 関数 legend の入力引数としてテキストを指定した場合、凡例には指定されたテキストが使用され、DisplayName プロパティが同じ値に設定されます。

  • 関数 legend の入力引数としてテキストを指定しない場合、凡例には DisplayName プロパティのテキストが使用されます。既定では、DisplayName は文字ベクトルであり、ヒストグラムの作成に使用される入力データ x および y の変数名を表します。一方または両方の入力に変数名が含まれていない場合、DisplayName は空 ('') となります。

DisplayName プロパティにテキストが含まれていない場合は、凡例で文字ベクトルが生成されます。この文字ベクトルは 'dataN' の形式になります。ここで、N は、凡例エントリのリスト内の位置を基に histogram2 オブジェクトに割り当てられる数字です。

既存の凡例内でこの文字ベクトルを対話的に編集した場合、MATLAB は DisplayName プロパティを編集後の文字ベクトルに更新します。

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

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

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

たとえば、obj という Histogram2 オブジェクトを凡例から除外するには、IconDisplayStyle プロパティを "off" に設定します。

obj.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' に設定されている場合でも選択ハンドルを表示しません。

コールバック

すべて展開する

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

  • 関数ハンドル

  • 関数ハンドルと追加の引数を含む 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 は、コールバック キューを処理するコマンドを実行するたびにコールバックの割り込み動作を判別します。これらのコマンドには、drawnowfigureuifiguregetframewaitforpause があります。

実行中コールバックにこれらのコマンドが含まれていない場合、割り込みは発生しません。MATLAB は、実行中コールバックの実行を先に終了させ、その後に割り込みコールバックを実行します。

実行中コールバックにこれらのいずれかのコマンドが含まれている場合、実行中コールバックを所有するオブジェクトの Interruptible プロパティに応じて割り込みが発生するかどうかが決まります。

  • Interruptible の値が 'off' の場合、割り込みは発生しません。代わりに、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて、割り込みコールバックが破棄されるかコールバック キューに追加されるかが決まります。

  • Interruptible の値が 'on' の場合、割り込みが発生します。MATLAB は、コールバック キューの次回処理時に、実行中コールバックの実行を停止し、割り込みコールバックを実行します。割り込みコールバックが完了した後、MATLAB は実行中だったコールバックの実行を再開します。

メモ

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

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

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

  • 割り込みコールバックが Timer オブジェクトで所有されている場合、Interruptible プロパティの値にかかわらずスケジュールに従ってコールバックが実行されます。

メモ

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

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

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

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

BusyAction プロパティによってコールバック キューイングの動作が決まるのは、次の両方の条件を満たす場合のみです。

  • 実行中コールバックに drawnowfigureuifiguregetframewaitforpause などのコールバック キューを処理するコマンドが含まれている。

  • 実行中コールバックを所有するオブジェクトの Interruptible プロパティの値が 'off' である。

これらの条件に当てはまる場合、割り込みコールバックを所有するオブジェクトの BusyAction プロパティに応じて MATLAB による割り込みコールバックの処理方法が決まります。BusyAction プロパティは次の値を取ることができます。

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

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

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

  • 'visible' — 表示されている場合にのみマウス クリックをキャプチャします。Visible プロパティは、'on' に設定しなければなりません。Histogram2 オブジェクトがクリックに応答するか、先祖がクリックに応答するかは、HitTest プロパティが決定します。

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

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

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

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

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

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

メモ

PickableParts プロパティは、Histogram2 オブジェクトがマウス クリックをキャプチャできるかどうかを決定します。キャプチャできない場合、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 プロパティの設定にかかわらず、すべてのオブジェクト ハンドルがリストされます。

識別子

すべて展開する

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

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

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

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

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

バージョン履歴

R2015b で導入

すべて展開する