Main Content

DensityPlot のプロパティ

密度プロットの外観と動作の制御

DensityPlot プロパティは、DensityPlot オブジェクトの外観と動作を制御します。プロパティの値を変更することによって、密度プロットの一部の要素を変更できます。

密度

すべて展開する

密度計算における影響の半径。数値スカラーとして指定します。GeographicAxes で使用する場合、値の測定単位はメートルです。

半径の計算。'auto' または 'manual' として指定します。

半径モード

説明
'auto'DensityPlot が半径の値のサイズを決定します。
'manual'ユーザーが半径のサイズを指定します。GeographicAxes で使用する場合、この値の測定単位はメートルです。

データに割り当てられた重み。空の配列、数値スカラーまたは数値ベクトルとして指定します。数値ベクトルを指定する場合、このベクトルの長さは、ベクトル LatitudeData およびベクトル LongitudeData と同じでなければなりません。ベクトル WeightData は通常 LatitudeDataLongitudeData の位置データに関連付けられた追加のデータです。

WeightData にリンクされているワークスペース変数。MATLAB® ワークスペースの変数名を含む文字ベクトルまたは string として指定します。MATLAB はベース ワークスペース内の変数を評価して WeightData を生成します。

既定ではリンクされている変数はないため、この値は空の文字ベクトル '' です。変数をリンクしても MATLAB は WeightData の値をすぐに更新しません。データ値の更新を強制するには、関数 refreshdata を使用します。

メモ

あるデータ ソース プロパティを異なる次元のデータを含む変数に変更すると、関数が警告を生成する可能性があります。すべてのデータ ソース プロパティを適切な値に変更するまで、geodensityplot はグラフを描画しません。

色と透明度

すべて展開する

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

  • 範囲 [0,1] のスカラー — すべての面に一様な透明度を使用します。値 1 は完全に不透明で、値 0 は完全に透明です。01 の間の値は半透明です。

  • 'interp' — 各面に内挿された透明度を使用します。頂点の値を内挿することにより、各面に異なる透明度が使用されます。

面の色。'interp'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。値 'interp' を指定すると、密度値に基づいて内挿を行うカラーリングが使用されます。色は親座標軸のカラーマップから選択されます。

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

FaceColor プロパティの設定方法を制御します。次のいずれかの値として指定します。

  • "auto" — MATLAB が DensityPlot オブジェクトの SeriesIndex プロパティと座標軸の ColorOrder プロパティを使用して、FaceColor プロパティ値を制御します。

  • "manual"DensityPlot オブジェクトを作成するときに、FaceColor プロパティ値を直接設定するか、関数の引数として間接的に設定します。

FaceColor プロパティの値を手動で変更すると、MATLAB は FaceColorMode プロパティの値を "manual" に変更します。

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

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

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

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

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

オブジェクトの塗りつぶし色を手動で設定すると、MATLAB はそのオブジェクトの色の自動選択を無効にし、SeriesIndex プロパティの値に関係なく色を保持できるようにします。FaceColorMode プロパティは、色が手動で (ユーザーにより) 設定されているか、自動的に設定されているかを示します。値 "manual" は手動選択を示し、値 "auto" は自動選択を示します。

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

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

地理座標データ

すべて展開する

データ点の緯度座標。[-90,90] の範囲にある度単位で有限の実数値ベクトル、または空 ([]) の配列として指定します。LatitudeDataLongitudeData と同じサイズでなければならず、NaN を含むことができます。

データ型: single | double

latitudeData にリンクされている変数。MATLAB ワークスペースの変数名を含む文字ベクトルまたは string スカラーとして指定します。MATLAB はベース ワークスペース内の変数を評価して LatitudeData を生成します。

既定ではリンクされている変数はないため、この値は空の文字ベクトル '' です。変数をリンクしても MATLAB は LatitudeData の値をすぐに更新しません。データ値の更新を強制するには、関数 refreshdata を使用します。

メモ

あるデータ ソース プロパティを異なる次元のデータを含む変数に変更すると、関数が警告を生成する可能性があります。すべてのデータ ソース プロパティを適切な値に変更するまで、geodensityplot はグラフを描画しません。

データ点の経度座標。(-Inf,Inf) の範囲にある度単位で有限の実数値ベクトル、または空 ([]) の配列として指定します。LongitudeDataLatitudeData と同じサイズでなければならず、NaN を含むことができます。

経度は、360 度以下の範囲でなければなりません。

データ型: single | double

LongitudeData にリンクされている変数。MATLAB ワークスペースの変数名を含む文字ベクトルまたは string として指定します。MATLAB はベース ワークスペース内の変数を評価して LongitudeData を生成します。

既定ではリンクされている変数はないため、この値は空の文字ベクトル '' です。変数をリンクしても MATLAB は LongitudeData の値をすぐに更新しません。データ値の更新を強制するには、関数 refreshdata を使用します。

メモ

あるデータ ソース プロパティを異なる次元のデータを含む変数に変更すると、関数が警告を生成する可能性があります。すべてのデータ ソース プロパティを適切な値に変更するまで、geodensityplot はグラフを描画しません。

凡例

すべて展開する

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

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

凡例にオブジェクトを含めるか除外するかの制御。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" — オブジェクトを削除せずに非表示にします。非表示のオブジェクトのプロパティには引き続きアクセスできます。

コンテキスト メニュー。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' に設定しなければなりません。DensityPlot オブジェクトがクリックに応答するか、先祖がクリックに応答するかは、HitTest プロパティが決定します。

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

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

クリック可能にしない他のオブジェクトの下にあるオブジェクトをクリック可能にする場合は、他のオブジェクトをクリックが通過するように、それらのオブジェクトの PickableParts プロパティを 'none' に設定します。

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

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

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

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

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

メモ

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

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

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

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

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

親/子

すべて展開する

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

このオブジェクトには子がありません。このプロパティは設定できません。

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

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

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

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

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

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

識別子

すべて展開する

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

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

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

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

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

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

バージョン履歴

R2018b で導入

すべて展開する