ドキュメンテーション

このページは前リリースの情報です。該当の英語のページはこのリリースで変更されています。このリリースの英語のドキュメンテーションを参照するには、言語設定を United States に変更してください。

Line Properties

Line プロパティ

Line オブジェクトの作成

Line オブジェクトを作成するには、関数 line を使用します。

プロパティの変更

グラフィックス オブジェクトのプロパティを設定および取得するには、次の 2 とおりの方法があります。

プロパティの既定値の変更方法は、「既定のプロパティ値の設定」を参照してください。

オブジェクト タイプの設定に関する一般的な情報は、「コア グラフィックス オブジェクト」を参照してください。

Line プロパティの説明

Annotation

hg.Annotation オブジェクト (読み取り専用)

Annotation オブジェクトのハンドルAnnotation プロパティを使用すると、この オブジェクトが Figure の凡例に表示されるかどうかを指定できます。

Annotation プロパティをクエリすると、hg.Annotation オブジェクトのハンドルが返されます。hg.Annotation オブジェクトは、LegendInformation と呼ばれるプロパティをもち、このプロパティは hg.LegendEntry オブジェクトを含みます。

hg.LegendEntry オブジェクトを取得すると、その IconDisplayStyle プロパティを設定して オブジェクトが Figure の凡例に表示されるかどうかを制御できます。

IconDisplayStyle 値目的
onこの オブジェクトを凡例に表示する (既定の設定)
offこの オブジェクトを凡例に含めない
children オブジェクトに子がないため on と同じ

IconDisplayStyle プロパティの設定

ハンドル hobj のあるグラフィックス オブジェクトの IconDisplayStyleoff に設定します。

hAnnotation = get(hobj,'Annotation');
hLegendEntry = get(hAnnotation,'LegendInformation');
set(hLegendEntry,'IconDisplayStyle','off')

IconDisplayStyle プロパティの使用

詳細と例は、「凡例の内容のコントロール」を参照してください。

BeingDeleted

on | {off} (読み取り専用)

削除予定のオブジェクトを示すプロパティ。オブジェクトが削除されているかどうかを判定するメカニズム。MATLAB® は、オブジェクトの関数 delete のコールバックが呼び出されると BeingDeleted プロパティを on に設定します (DeleteFcn プロパティを参照)。関数 delete の実行中は、そのプロパティは on に設定されたままになり、その後そのオブジェクトは削除されます。

たとえば、オブジェクトの関数 delete が多くのオブジェクトに作用する他の関数を呼び出すとします。削除されるオブジェクトに対して関数が操作を実行する必要がない場合、前もって、オブジェクトの BeingDeleted プロパティを確認できます。

BusyAction

cancel | {queue}

コールバック キューイング

MATLAB による割り込みコールバックの実行の処理方法を決定します。

"実行中" コールバックは、現在実行しているコールバックです。"割り込み" コールバックは、"実行中" コールバックに割り込もうとするコールバックです。"割り込み" コールバックの BusyAction プロパティは、MATLAB が割り込みコールバックの実行を処理する方法を決定します。BusyAction プロパティの設定に応じた動作は次のとおりです。

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

  • 'cancel' — MATLAB が実行を終了したら "割り込み" コールバックを破棄します。

他のコールバックが "実行中の" コールバックを中断できるかどうかをコールバックの Interruptible プロパティが制御する方法の詳細については、Interruptible プロパティの説明を参照してください。

ButtonDownFcn

関数ハンドル | 関数ハンドルと追加の引数をもつセル配列 | 文字列 (推奨しません)

ボタンを押したときのコールバック関数。ポインターが Line オブジェクトの上にある場合にユーザーがマウスボタンをクリックすると、実行します。既定値は空の配列です。

修飾キーも押されたかどうかを判別するには、Figure の SelectionType プロパティを参照してください。

コールバックを参照する関数ハンドルをこのプロパティに設定します。関数は、buttonDown イベントに関連するラインのハンドルとイベント構造体 (このプロパティでは空になります) の少なくとも 2 つの入力引数を定義しなければなりません。


以下の例は、コールバック関数から、オブジェクトを含む Figure のハンドルのアクセス方法と、コールバック関数からコールバック オブジェクトのハンドルへのアクセス方法を示します。

function button_down(src,evnt)
% src - the object that is the source of the event
% evnt - empty for this property
   sel_typ = get(gcbf,'SelectionType')
   switch sel_typ 
      case 'normal'
         disp('User clicked left-mouse button')
         set(src,'Selected','on')
      case 'extend'
         disp('User did a shift-click')
         set(src,'Selected','on')
      case 'alt'
         disp('User did a control-click')
         set(src,'Selected','on')
         set(src,'SelectionHighlight','off')
   end
end

ここで、h は オブジェクトのハンドルと仮定し、関数 button_down は、ユーザーの MATLAB パス上にあるとします。以下のステートメントは、ButtonDownFcn プロパティに関数 button_down を割り当てます。

set(h,'ButtonDownFcn',@button_down)

コールバック関数の構文についての詳細は、「関数ハンドル コールバック」を参照してください。

Children

ハンドル番号のベクトル

空行列。Line オブジェクトは、子オブジェクトをもちません。

Clipping

{on} | off

クリッピング モード。MATLAB は、既定の設定で Line オブジェクトを軸プロット ボックスにクリッピングします。Clippingoff に設定すると、Line オブジェクトは軸プロット ボックスの外側に表示されます。Line オブジェクトを作成し、holdon にし、軸のスケーリングを固定 (axismanual に設定) し、その後でより長い Line オブジェクトを作成したときに、このようなことが起こります。

Color

ColorSpec

線の色。ライン カラーを指定する 3 要素の RGB ベクトル、または MATLAB の事前定義済みの色の名前のいずれかです。色の指定方法の詳細は、ColorSpec のリファレンス ページを参照してください。

CreateFcn

関数ハンドル | 関数ハンドルと追加の引数をもつセル配列 | 文字列 (推奨しません)

オブジェクトの作成中に実行するコールバック関数。MATLAB が Line オブジェクトを作成するときに実行します。既定値は空の配列です。

コールバックは Line オブジェクトの作成中、または新しい Line オブジェクトを作成するための関数 line の呼び出しで指定しなければなりません。

たとえば、次のステートメント

set(0,'DefaultLineCreateFcn',@line_create)

は、ルート レベルの CreateFcn プロパティの既定値を定義し、Line オブジェクト作成時に常に Axes の LineStyleOrder プロパティを設定します。上記ステートメントを実行する場合、以下のコールバック関数は MATLAB パス上にある必要があります。

function line_create(src,evnt)
% src - the object that is the source of the event 
% evnt - empty for this property
	axh = get(src,'Parent'); 
	set(axh,'LineStyleOrder','-.|--')
end

MATLAB は、Line のすべてのプロパティを設定した後に、この関数を実行します。既存の Line オブジェクトにこのプロパティを設定しても効果はありません。

関数は、作成する Line オブジェクトのハンドルとイベント構造体 (このプロパティでは空になります) の少なくとも 2 つの入力引数を定義しなければなりません。

実行しているオブジェクトの CreateFcn のハンドルは、コールバック関数への最初の引数として MATLAB から渡され、関数 gcbo を使用してクエリできるルートの CallbackObject プロパティを通してのみ受け入れられます。

コールバック関数の構文についての詳細は、「関数ハンドル コールバック」を参照してください。

DeleteFcn

関数ハンドル | 関数ハンドルと追加の引数をもつセル配列 | 文字列 (推奨しません)

Line のコールバック関数の削除。Line オブジェクトを削除するときに実行します。これは、オブジェクト、その親軸、またはそれを含む Figure に対して delete コマンドを呼び出した場合に発生します。既定値は空の配列です。

たとえば、以下の関数はオブジェクトが消去される前に、オブジェクト プロパティ データを表示します。

function delete_fcn(src,evnt)
% src - the object that is the source of the event 
% evnt - empty for this property
   obj_tp = get(src,'Type');
   disp([obj_tp, ' object deleted'])
   disp('Its user data is:')
   disp(get(src,'UserData'))
end

MATLAB は、オブジェクトのプロパティを削除する前に、この関数を実行するので、これらの値はコールバック関数に使用できます。関数は、削除する Line オブジェクトのハンドルとイベント構造体 (このプロパティでは空になります) の少なくとも 2 つの入力引数を定義しなければなりません。

実行しているオブジェクトの DeleteFcn のハンドルは、コールバック関数への最初の引数として MATLAB から渡され、関数 gcbo を使用してクエリできるルートの CallbackObject プロパティを通してのみ受け入れられます。

コールバック関数の構文についての詳細は、「関数ハンドル コールバック」を参照してください。

DisplayName

文字列

凡例で使用される文字列。関数 legendDisplayName プロパティを使用して、凡例で オブジェクトにラベルを付けます。既定値は空の文字列です。

  • 文字列引数を関数 legend を使用して指定すると、MATLAB は DisplayName を対応する文字列に設定し、その文字列を凡例で使用します。

  • DisplayName が空の場合は、関数 legend によって ['data' n] 形式の文字列が作成されます。ここで、n は、凡例エントリのリスト内の位置に従ってオブジェクトに割り当てられる数字です。ただし、legend でこの文字列に DisplayName を設定することはできません。

  • 既存の凡例の文字列を直接編集した場合は、編集した文字列に DisplayName が設定されます。

  • DisplayName プロパティに文字列を指定し、Figure ツール バーを使用して凡例を作成した場合、MATLAB は DisplayName で定義された文字列を使用します。

  • DisplayName 文字列を使用する凡例をプログラミングで追加するには、toggle または show オプションを使用して関数 legend を呼び出します。

詳細と例は、「凡例の内容のコントロール」を参照してください。

次のコードは、コマンド ラインまたはファイルで DisplayName プロパティを使用する方法を示します。

t = 0:.1:2*pi;
a(:,1)=sin(t); a(:,2)=cos(t);
h = plot(a);
set(h,{'DisplayName'},{'Sine','Cosine'}')
legend show
EraseMode

{normal} | none | xor | background

消去モード。Line オブジェクトを描画したり、消去したりする MATLAB の機能を制御します。他の消去モードは、連続的に動きを表現するアニメーションの作成に便利です。つまり、アニメーションではパフォーマンスを向上させたり、希望する効果を得るために、個々のオブジェクトを再描画する方法を制御する必要があります。

  • normal — すべてのオブジェクトを正しく描画するために必要な 3 次元解析を実行して、問題のある表示領域を再描画します。このモードは、最も正確な Figure を表示することができますが、非常に時間がかかります。他のモードは、かなり時間の短縮にはなりますが、完全な Figure を再表示することはできず、精度は低下します。

  • none — Line は移動したり、削除されても消去されません。EraseModenone を設定して消去した後、画面にオブジェクトがまだ表示されていても、MATLAB は以前の位置に関する情報を格納しないので、印刷はできません。

  • xor — Line は、その下の画面の各ピクセルのインデックスとの排他的論理和 (XOR) により、表示と消去が行われます。このモードでは、線の下のオブジェクトの色に影響を与えません。しかし、線の色はその下の表示の色に依存します。

  • background — Axes の背景の Color で線を描くことで消去します。または、Axes の Colornone に設定されている場合は、Figure の背景の Color を使用して消去します。これは、消去した線に隠れていたオブジェクトに影響を与えますが、線は常に適切に色付けされます。

非ノーマルの Erase モードでの印刷

MATLAB は、すべてのオブジェクトの EraseModenormal であるかのように Figure を印刷します。これは、EraseModenonexorbackground のいずれかを設定して作成されたグラフィックス オブジェクトは、画面での表示と印刷用紙での表示が異なって見えることを意味しています。画面上で MATLAB は、色層を数学的に合わせて (たとえば、ピクセルの色とその後ろにあるピクセルの色との排他的論理和を計算する)、最大のレンダリング スピードを得るための 3 次元の並べ替えを無視しています。しかし、これらの技法は、印刷出力には適用されません。

非ノーマル モードのオブジェクトを含んでいる Figure のイメージを作成するには、getframe コマンドまたは他のスクリーン キャプチャ アプリケーションを使用できます。

HandleVisibility

{on} | callback | off

オブジェクト ハンドルへのアクセスのコントロール。オブジェクト ハンドルが、その親オブジェクトのリストで子として表示されるかどうかを決めます。HandleVisibility は、ユーザー インターフェイス デバイス (ダイアログ ボックスなど) のみを含む Figure 内にコマンド ラインから誤って描画したり、Figure を削除することを防ぐ場合に有効です。

  • on — ハンドルは常に表示されます。

  • callback — コールバック ルーチン内から、あるいはコールバック ルーチンにより呼び出される関数から、ハンドルを参照することができます。しかし、コマンド ラインから呼び出される関数からは参照できません。これは、コマンド ライン ユーザーから GUI を保護しながら、コールバック ルーチンがオブジェクトのハンドルにアクセスできるようにするために提供されています。

  • off — ハンドルは常に表示されません。このオプションは、GUI に影響を与える可能性がある (ユーザーの入力した文字列を評価するような) 関数をコールバックが実行する際に使用します。このオプションは、その関数の実行時にハンドルを一時的に隠します。

ハンドルがその親オブジェクトのリストで Children として可視化できないとき、オブジェクト階層の検索やハンドル プロパティのクエリによってハンドルを取得する関数は、ハンドルを返すことはできません。このような関数には、getfindobjgcagcfgconewplotclaclfclose があります。

ハンドルの可視状態が callbackoff を使用して制限されているとき、オブジェクトのハンドルはその親の Children プロパティに現れません。Figure はルートの CurrentFigure プロパティに現れず、オブジェクトはルートの CallbackObject プロパティまたは Figure の CurrentObject プロパティに現れません。また、Axes は親オブジェクトの CurrentAxes プロパティに現れません。

ルートの ShowHiddenHandles プロパティを on に設定すると、個々のハンドルの HandleVisibility の設定にかかわりなく、すべてのハンドルを可視化することができます。これによって HandleVisibility プロパティの値が影響を受けることはありません。

隠蔽されているハンドルは、有効なままです。オブジェクト ハンドルがわかっている場合、そのプロパティを関数 set および get で設定して取得し、ハンドルに作用する関数に渡すことができます。

詳細は、「HandleVisibility プロパティ」「ハンドルの可視性により影響を受ける関数」および「ハンドルの可視性により影響を受けるプロパティ」を参照してください。

HitTest

{on} | off

マウス クリックによる選択。ライン上でのマウス クリックの結果、ラインが現在のオブジェクト (gco コマンドと Figure の CurrentObject プロパティにより返される) になり得るかどうかを指定します。HitTestoff の場合、ライン上をクリックすると、その下のオブジェクト (このオブジェクトを含む Axes である可能性あり) が選択されます。

Interruptible

off | {on}

コールバック ルーチンの割り込み

後続のコールバックがオブジェクトのコールバック関数に割り込もうとしたときに、MATLAB がそのコールバック関数に割り込めるかどうかを制御します。

Graphics オブジェクトの場合、Interruptible プロパティは、ButtonDownFcn プロパティに対するコールバックのみに影響します。"実行中" コールバックは、現在実行しているコールバックです。"割り込み" コールバックは、"実行中" コールバックに割り込もうとするコールバックです。MATLAB は、"実行中" コールバックのオブジェクトの Interruptible プロパティに基づいて両方のコールバックを処理します。

Interruptible プロパティの設定に応じた動作は次のとおりです。

  • 'off' の場合、MATLAB は割り込まずに "実行中" コールバックの実行を終了します。

  • 'on' の場合、以下の条件が適用されます。

    • drawnowfiguregetframewaitfor または pause コマンドが "実行中" コールバックにある場合、MATLAB は既にキューに存在する "割り込み" コールバックを実行してから、現在のコールバックの実行を終了するために戻ります。

    • 上記の関数のいずれも "実行中" コールバックにない場合、MATLAB は割り込まずに現在のコールバックの実行を終了します。

割り込みコールバックのオブジェクトの BusyAction プロパティは、コールバックを無視するかキューに入れるかを決定します。

Interruptible プロパティを on (既定の設定) に設定すると、他のグラフィックス オブジェクトのコールバックは、このオブジェクトから発生するコールバック関数に割り込みできます。

    メモ:    MATLAB は、割り込みが発生したときにプロパティの状態や表示を保存しません。たとえば、gca または gcf コマンドによって返されたハンドルは、別のコールバックが実行されると変更される場合があります。

コールバックに割り込んだ関数が完了した後、コールバックは割り込みにより中断されたところから実行を再開します。詳細は、「コールバックの実行と中断の制御」を参照してください。

LineStyle

{-} | -- | : | -. | none

ライン スタイル。

 ライン スタイル指定子の表

各点にマーカーを設定し、点と点をラインで結ばない場合は、LineStyle none を使用します (Marker プロパティを参照してください)。

LineWidth

スカラー

ラインの幅。この値をポイント数で指定します。既定値は 0.5 ポイントです。

Marker

文字 (表を参照)。

マーカー記号。データ点を表示するマークを指定します。Marker プロパティに、LineStyle プロパティとは独立して値を指定できます。サポートされているマーカー記号の一覧については、次の表を参照してください。

 マーカー指定子の表

MarkerEdgeColor

ColorSpec | none | {auto}

マーカー エッジの色。マーカーの色または塗りつぶされたマーカー (円、正方形、菱形、星形五角形、星形六角形、4 種類の三角形) のエッジの色。

  • ColorSpec — ユーザー定義の色。

  • none — 色を設定しません。塗りつぶされていないマーカーは、透明です。

  • auto - ラインの Color プロパティと同じ色を使用します。

MarkerFaceColor

ColorSpec | {none} | auto

閉じた形状のマーカーの塗りつぶし色。閉じた形のマーカー (円、正方形、菱形、星形五角形、星形六角形、4 種類の三角形) を塗りつぶす色です。

  • ColorSpec — ユーザー定義の色。

  • none — マーカーの内部に透明な部分を作成し、それを通して、背景が見えます。

  • auto — 塗りつぶす色を Axes の Color プロパティに設定します。Axes の Color プロパティが none の場合、塗りつぶす色を Figure の Color に設定します。

MarkerSize

スカラー

マーカー サイズ。ポイント単位のマーカーのサイズ。既定値は 6 です。

    メモ:    MATLAB は、ポイント マーカー ('.' 記号で指定) を指定サイズの 1/3 で描画します。

Parent

Axes、Hggroup、または Hgtransform のハンドル番号

Line オブジェクトの親オブジェクト。Line オブジェクトの親オブジェクトは、それを含む Axes オブジェクトです。他の Axes、Hggroup、Hgtransform オブジェクトの親オブジェクトに変更することができます。

Selected

on | off

選択状況。このプロパティが on の場合、MATLAB は SelectionHighlight プロパティも on であるときに選択ハンドルを表示します。たとえば、このプロパティを設定するために、ButtonDownFcn を定義すると、ユーザーはマウスでオブジェクトを選択することができます。

SelectionHighlight

{on} | off

選択するとハイライトされるオブジェクトSelected プロパティが on のとき、MATLAB は各頂点にハンドルを描くことにより、選択された状態を表します。SelectionHighlightoff の場合、MATLAB はハンドルを描画しません。

Tag

文字列

ユーザー指定のオブジェクトのラベル。ユーザー指定のラベルをもつグラフィックス オブジェクトを識別する方法を提供します。既定値は空の文字列です。

オブジェクトのハンドル番号をグローバル変数として定義したり、コールバック ルーチン間で引数として渡す対話型のグラフィックス プログラムを構築するときにこのプロパティを使用します。任意の文字列で Tag を定義できます。

Tag プロパティと関数 findobj を使用して、プロット階層内の特定オブジェクトを操作します。

Type

文字列 (読み取り専用)

グラフィックス オブジェクトのクラスグラフィックス オブジェクトのクラスを識別する文字列。このプロパティを使用して、プロット階層内にある特定のタイプのすべてのオブジェクトを見つけます。Line オブジェクトの場合、Type は常に line です。

UIContextMenu

Uicontextmenu オブジェクトのハンドル

Line に関連付けられたコンテキスト メニュー。Line と同じ Figure 内に作成する Uicontextmenu オブジェクトのハンドルに、このプロパティを割り当てます。コンテキスト メニューを作成するには、関数 uicontextmenu を使用します。MATLAB は、ライン上で右マウス ボタンをクリックしたときに、コンテキスト メニューを表示します。

UserData

行列

ユーザー指定のデータ。Line オブジェクトに関連付けるデータ。既定値は空の配列です。MATLAB はこのデータを使用しませんが、set コマンドや get コマンドを使用するとこのデータにアクセスできます。

    メモ:    UserData プロパティを複数回指定すると、以前のエントリが消去されます。

Visible

{on} | off

線の可視化。

  • on - すべてのラインが表示されます。

  • off - ラインは見えなくなりますが、存在はしており、そのプロパティに関数 getset を使用できます。

XData

ベクトル

ラインの x 座標。ラインを定義する x 座標のベクトル。既定の設定は [0 1] です。

YDataZData は、設定する場合、同じ長さで同じ行数でなければなりません。

関数 line を使用してラインを作成し、その XData プロパティを変更します。

mylin = line(rand(1,10),rand(1,10)); 
set(mylin,'XData',rand(1,15));
% A warning because you did not set YData
set(mylin,'XData',rand(1,15),...
   'YData',rand(1,15));
% No warning appears and the plot draws as expected.
YData

ベクトル

ラインの y 座標。ラインを定義する y 座標のベクトル。既定の設定は [0 1] です。XDataZDataは、設定する場合、同じ長さで同じ行数でなければなりません。

関数 line を使用してラインを作成し、その YData プロパティを変更します。

mylin = line(rand(1,10),rand(1,10)); 
set(mylin,'YData',rand(1,15));
% A warning because you did not set YData
set(mylin,'YData',rand(1,15),'XData',rand(1,15));
% No warning appears and the plot draws as expected.
ZData

ベクトル

ラインの z 座標。ラインを定義する z 座標のベクトル。既定の設定は [] (空) です。XDataYData は、同じ行数でなければなりません。

関数 line を使用してラインを作成し、その ZData プロパティを変更します。

mylin = line(rand(1,10),rand(1,10),rand(1,10));
view(3)
set(mylin,'ZData',rand(1,15));
% A warning because you did not set YData
set(mylin,'XData',rand(1,15),...
   'YData',rand(1,15),...
   'ZData',rand(1,15));
% No warning appears and the plot draws as expected.

参考

この情報は役に立ちましたか?