ginput
座標を使用して抽出する必要はありません。これは、Figure ウィンドウに組み込まれている「リスナー」によって自動的に行われます。ButtonDownFcn
オブジェクト (ライン、ラインシリーズ、またはその他のハンドル グラフィックス オブジェクト) でプロパティを使用できると仮定するのは正しいことです。
(0,0) から (1,1) までの単純な行で作成してみてください。
hline = line([0,1],[0,1]) %# create line, save handle in hline
次にButtonDownFcn
、たとえば関数ハンドルを無名関数に設定できます。
set( ...
hline, ...
'ButtonDownFcn', @(handle,event)(disp(['You clicked on the line!'])) ...
);
線をクリックしてみてください。コマンドウィンドウにテキストを出力する必要があります。
この関数は、少なくとも 2 つの引数を受け取ることができる必要があります: (1) オブジェクト自体のハンドル (行) と (2) 「イベント構造」。line-objects を使用する場合、2 番目の引数は単に空であると思います。ただし、関数は少なくともこれら 2 つの引数を受け取る必要があります (使用しない場合でも)。
詳細については、http: //www.mathworks.com/help/techdoc/ref/line_props.htmlを参照してください。
独自の関数 (ファイル内の名前付き関数) を使用することもできます。
set( ...
hline, ...
'ButtonDownFcn', @(handle,event)(namedFunction(handle,event)) ...
);
...または、(予想どおり)これら2つ以外の引数がある場合は、構造体配列を使用できます。