Main Content

linkprop

グラフィックス オブジェクトの対応するプロパティと同じ値の保持

構文

hlink = linkprop(obj_handles,'PropertyName')
hlink = linkprop(obj_handles,{'PropertyName1','PropertyName2',...})

説明

異なるグラフィックス オブジェクト間で対応するプロパティと同じ値を保持するには、関数 linkprop を使用します。

メモ

linkprop はグラフィックス オブジェクトにのみ使用します。

hlink = linkprop(obj_handles,'PropertyName') は、obj_handles で表されるハンドルのすべてのオブジェクト上の PropertyName プロパティと同じ値を保持します。関数 linkprop は、hlink にリンク オブジェクトを返します。詳細については、リンク オブジェクトについてを参照してください。

hlink = linkprop(obj_handles,{'PropertyName1','PropertyName2',...}) は、obj_handles で表されるハンドルのすべてのオブジェクト上で、cell 配列に渡されるすべてのプロパティに対して同じ値をそれぞれ保持します。

linkprop が呼び出されると、MATLAB® は、すべてのリンク オブジェクトのリンクされているプロパティを直ちに更新します。リスト obj_handles の最初のオブジェクトは、残りのオブジェクトのプロパティ値を決定します。

一連のグラフィックス オブジェクトは、これらのオブジェクトのプロパティを接続するリンク オブジェクトを一度に 1 つのみもつことができます。linkprop を呼び出すと新しいリンク オブジェクトが 1 つ作成されます。この新しいリンク オブジェクトによって、obj_handles で指定されたオブジェクトに関連付けられている任意の既存のリンク オブジェクトが置き換えられます。ただし、リンクするプロパティとオブジェクトはそのオブジェクトでメソッドを呼び出すことで管理できます。

  • リンクされたオブジェクトのリストにオブジェクトを追加するには、addtarget メソッドを使用します。

  • 現在リンクされているオブジェクトの新しいプロパティをリンクするには、addprop メソッドを使用します。

  • オブジェクトのリンクを停止するには、removetarget メソッドを使用します。

  • プロパティのリンクを停止するには、removeprop メソッドを使用します。

リンク オブジェクトについて

linkprop が返すリンク オブジェクトには、さまざまなグラフィックス オブジェクトのプロパティをリンクする仕組みが格納されています。そのため、リンク オブジェクトは、(ユーザーがコマンド ラインや Figure ツールからオブジェクトを対話型で操作する場合のベース ワークスペースのように) プロパティのリンクを行う場所にある必要があります。

以下のリストは、リンク オブジェクトの参照を保持する方法を説明します。

  • 関数からの出力引数としてリンク オブジェクトを返し、リンク オブジェクトを対話型で操作する間は、それをベース ワークスペースに保持します。

  • 変数 hlink をグローバルにします。

  • オブジェクトの UserData プロパティまたはアプリケーションデータ内に、変数 hlink を保持します。

リンク オブジェクトの更新

リンクされたグラフィックス オブジェクトまたはプロパティのいずれかを変更する場合は、その目的のために構築されたリンク オブジェクト メソッドを使用する必要があります。これらのメソッドは、リンク オブジェクト上でのみ動作する関数です。これらを使用するには、関数 linkprop を使用して、はじめにリンク オブジェクトを作成しなければなりません。

メソッド

目的

addtarget

指定されたグラフィックス オブジェクトをリンク オブジェクトのターゲットに追加します。

removetarget

指定されたグラフィックス オブジェクトをリンク オブジェクトのターゲットから消去します。

addprop

リンクされたプロパティへ指定されたプロパティを追加します。

removeprop

リンクされたプロパティから指定されたプロパティを消去します。

メソッド構文

addtarget(hlink,obj_handles)
removetarget(hlink,obj_handles)
addprop(hlink,'PropertyName')
removeprop(hlink,'PropertyName')

メソッドの引数

  • hlink — 次によって返されるリンク オブジェクト: linkprop

  • obj_handles — 1 つ以上のグラフィックス オブジェクトのハンドル

  • PropertyName — すべてのターゲット オブジェクトに共通するプロパティ名

すべて折りたたむ

2 つの座標軸のプロパティをリンクして、1 つの座標軸が回転すると他方が自動的に回転するようにします。

2 つの座標軸を含む Figure を作成し、座標軸のハンドルを格納します。両方の座標軸にプロットを追加します。

figure
ax1 = subplot(2,1,1);
[X1,Y1,Z1] = peaks;
surf(X1,Y1,Z1)

ax2 = subplot(2,1,2);
[X2,Y2,Z2] = peaks(10);
surf(X2,Y2,Z2)

座標軸の CameraPosition プロパティと CameraUpVector プロパティをリンクして、リンク オブジェクト ハンドルを返します。次に、対話型の回転を有効にして、マウスを使用してどちらかの座標軸を回転させます。1 つの座標軸を回転させると、他方も同様に自動的に回転します。

hlink = linkprop([ax1,ax2],{'CameraPosition','CameraUpVector'});
rotate3d on

対話型の回転を無効にするには、rotate3d off を使用します。

リンク オブジェクト ハンドルとプロパティ名を addprop に渡して、さらに別のプロパティをリンクさせます。

addprop(hlink,'PlotBoxAspectRatio')

バージョン履歴

R2006a より前に導入