Main Content

ROCCurve のプロパティ

受信者動作特性 (ROC) 曲線の外観と動作

R2022a 以降

ROCCurve のプロパティは、rocmetrics オブジェクトの関数 plot が受信者動作特性 (ROC) 曲線やその他の性能曲線のそれぞれについて返す ROCCurve オブジェクトの外観と動作を制御します。

プロパティの値を変更することで、ROC 曲線の一定の部分を変更できます。プロパティのクエリと設定を行うには、ドット表記を使用します。以下に例を示します。

rocObj = rocmetrics(Labels,Scores,ClassNames);
curveObj = plot(rocObj);
c = curveObj(1).Color;
curveObj(1).Color = "red";

ROC 曲線データ

すべて展開する

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

XData に格納されている x 軸のパフォーマンス メトリクス。パフォーマンス メトリクスの名前の string スカラーとして指定します。

このプロパティの設定は関数 plot の名前と値の引数 XAxisMetric で行います。この引数の既定値は "FalsePositiveRate" です。

組み込みメトリクスとカスタム メトリクスの名前の詳細については、関数 plot の名前と値の引数 XAxisMetric を参照してください。

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

XAxisMetric の x 軸の値。数値ベクトルを指定します。

データ型: double

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

YData に格納されている y 軸のパフォーマンス メトリクス。パフォーマンス メトリクスの名前の string スカラーとして指定します。

このプロパティの設定は関数 plot の名前と値の引数 YAxisMetric で行います。この引数の既定値は "TruePositiveRate" です。

組み込みメトリクスとカスタム メトリクスの名前の詳細については、関数 plot の名前と値の引数 XAxisMetric を参照してください。

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

YAxisMetric の y 軸の値。数値ベクトルを指定します。

データ型: double

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

パフォーマンス メトリクス (XDataYData) の各値が求められる分類スコアのしきい値。数値ベクトルを指定します。

データ型: double

ROC 曲線オプション

すべて展開する

y 軸のメトリクス (YAxisMetric) の信頼区間を表示するためのフラグ。logical 1 (true) または 0 (false) として指定します。

このプロパティの設定は関数 plot の名前と値の引数 ShowConfidenceIntervals で行います。この引数の既定値は false です。

ShowConfidenceIntervals の値を true にできるのは、rocmetrics オブジェクトの Metrics プロパティに y 軸のメトリクスの信頼区間が格納されている場合のみです。

すべて展開する

ラインと信頼区間のシェーディングの色。RGB 3 成分、16 進数のカラー コード、色の名前または省略名を指定します。

RGB 3 成分と 16 進数のカラー コードは、カスタム色の指定に便利です。

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

  • 16 進数のカラー コードは、ハッシュ記号 (#) で始まり、0 から F の範囲にある 16 進数が 3 つまたは 6 つ続く、文字ベクトルまたは 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

例: 'blue'

例: [0 0 1]

例: '#0000FF'

Color プロパティを設定するためのモード。次のいずれかの値を指定します。

  • 'auto'ROCCurve オブジェクトの SeriesIndex プロパティと座標軸の ColorOrder プロパティを使用して Color プロパティの値が制御されます。

  • 'manual' — オブジェクトの Color プロパティの値を直接設定することにより、Color プロパティの値を手動で制御します。

Color プロパティの値を手動で変更すると、ColorMode プロパティの値が 'manual' に変更されます。

ライン

すべて展開する

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

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

Sample of solid line

"--"破線

Sample of dashed line

":"点線

Sample of dotted line

"-."一点鎖線

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

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

LineStyle プロパティを設定するためのモード。次のいずれかの値を指定します。

  • 'auto'ROCCurve オブジェクトの SeriesIndex プロパティと座標軸の LineStyleOrder プロパティを使用して LineStyle プロパティの値が制御されます。

  • 'manual' — オブジェクトの LineStyle プロパティの値を直接設定することにより、LineStyle プロパティの値を手動で制御します。

LineStyle プロパティの値を手動で変更すると、LineStyleMode プロパティの値が 'manual' に変更されます。

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

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

シリーズ インデックス。0 または正の整数、または "none" として指定します。このプロパティは、いくつかの ROCCurve オブジェクトの色、ライン スタイル、またはマーカーを、互いに一致するよう再割り当てするのに役立ちます。既定では、ROCCurve オブジェクトの SeriesIndex プロパティは、1 から始まる、作成順に対応する数値です。

プロット関数を呼び出すときに、この数値を使用して、色、ライン スタイル、またはマーカーを割り当てるインデックスが計算されます。インデックスは座標軸の ColorOrder プロパティと LineStyleOrder プロパティに格納されている配列の行を参照します。その SeriesIndex を変更するか、座標軸の ColorOrder プロパティまたは LineStyleOrder プロパティを変更すると、ROCCurve オブジェクトの色、ライン スタイル、またはマーカーが自動的に更新されます。

変更が有効になるには、以下の条件に該当する必要があります。

  • ROCCurve オブジェクトの ColorModeLineStyleMode、または MarkerMode プロパティの少なくとも 1 つが 'auto' に設定されている。

  • ROCCurve オブジェクトの SeriesIndex プロパティが 0 より大きい。

  • axes オブジェクトの NextSeriesIndex プロパティが 0 より大きい。

マーカー

すべて展開する

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

マーカー説明結果として得られるマーカー
"o"

Sample of circle marker

"+"プラス記号

Sample of plus sign marker

"*"アスタリスク

Sample of asterisk marker

"."

Sample of point marker

"x"十字

Sample of cross marker

"_"水平線

Sample of horizontal line marker

"|"垂直線

Sample of vertical line marker

"square"正方形

Sample of square marker

"diamond"菱形

Sample of diamond marker

"^"上向き三角形

Sample of upward-pointing triangle marker

"v"下向き三角形

Sample of downward-pointing triangle marker

">"右向き三角形

Sample of right-pointing triangle marker

"<"左向き三角形

Sample of left-pointing triangle marker

"pentagram"星形五角形

Sample of pentagram marker

"hexagram"星形六角形

Sample of hexagram marker

"none"マーカーなし該当なし

Marker プロパティを設定するためのモード。次のいずれかの値を指定します。

  • 'auto'ROCCurve オブジェクトの SeriesIndex プロパティと座標軸の LineStyleOrder プロパティを使用して Marker プロパティの値が制御されます。

  • 'manual' — オブジェクトの Marker プロパティの値を直接設定することにより、Marker プロパティの値を手動で制御します。

Marker プロパティの値を手動で変更すると、MarkerMode プロパティの値が 'manual' に変更されます。

凡例

すべて展開する

凡例に使用するテキスト。文字ベクトルを指定します。

DisplayName の既定値は、曲線でパフォーマンスを示すクラスの名前です。曲線が ROC 曲線の場合、DisplayName には ROC 曲線の下の領域 (AUC) の値も含まれます。

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

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

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

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

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

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

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

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

curveObj.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 によってコピーされません。

オブジェクトの選択状態。'on'/'off' として指定するか、数値または logical の 1 (true) または 0 (false) として指定します。'on' の値は true と等価で、'off' の値は false と等価です。そのため、このプロパティの値を logical 値として使用できます。この値は、matlab.lang.OnOffSwitchState 型の on/off logical 値として保存されます。

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

  • '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' に設定されている場合でも、オブジェクトの周囲に選択ハンドルを表示しません。

コールバック実行制御

すべて展開する

マウス クリック キャプチャ機能。次のいずれかの値を指定します。

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

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

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

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

  • 'on'ROCCurve オブジェクトのデータ点にデータ ヒントを作成します。

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

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

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

メモ

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

親/子

すべて展開する

親。Axes オブジェクトとして指定します。

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

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

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

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

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

  • 'callback' — コールバックまたはコールバックによって起動された関数ではオブジェクト ハンドルが表示されますが、コマンド ラインから起動された関数では表示されません。このオプションは、コマンド ラインにおけるオブジェクトへのアクセスを阻止しますが、コールバック関数によるオブジェクトへのアクセスは許可します。

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

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

識別子

すべて展開する

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

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

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

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

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

バージョン履歴

R2022a で導入

すべて展開する