マウスの位置を読みたい場合は、画像をクリックしてください。callback
アクションを使用して実行できます。MATLABのマウスプロンプトでコールプロンプトのコールバック
function[]=FooBar
Img=imshow(FooMatrix,'callback',@(s,e)ImageClickCallback());
function ImageClickCallback(objectHandle,~)
axesHandle = get(objectHandle,'Parent');
coordinates = get(axesHandle,'CurrentPoint');
coordinates = round(coordinates(1,1:2))
end
end
これは画像にはうまくいきますが、私は軸が線でしかありません。私は、適切なaxes
またはline
にcallback
ルーチンを設定しようとしましたが、私はエラーメッセージ
を得た
Error while evaluating uicontrol Callback
Error using hg.figure/set The name 'callback' is not an accessible property for an instance of class 'figure'.
背景:私が作成しようとしています
例えば、y=f(x)
のように、ユーザーがライン上のポイントを選択できるようにする、ラインプロットを伴うGUI。考え方は、[x,y]
のマウスクリックの座標を読み取り、点[f'(y),y]
または[x,f(x)]
を強調表示することです(f'
はf
の逆関数です)。何かがData Cursor
のように機能します。