AppDesigne​rで複数の図形をプロ​ットした座標軸上での​クリックした点の座標​を取得する方法を教え​てください。

8 views (last 30 days)
旬太
旬太 on 21 Apr 2023
Commented: 旬太 on 25 Apr 2023
座標軸のコールバック上でcrurentPointを使ったところ、図形がプロットされていない点での座標は取得できましたが、
図形上の点ではクリックしても座標を取得することができませんでした。
代わりにginputを使用しましたが、新しく作成されたfigure上での座標の取得しかできず、アプリ上の座標軸に対しての座標の取得ができませんでした。

Accepted Answer

交感神経優位なあかべぇ
図形をクリックすると、図形へのクリック判定になり、座標軸のコールバック判定が発生していないと考えられます。
これを回避するには、図形のプロパティのHitTestをoffにすると、図形のクリック判定がなくなり、かわりに親オブジェクトへのクリック判定になります。
下記は、patchで作成した三角形のHitTestをオフにし、三角形上をクリックしても、uiaxesで定義したButtonDownFcnが実行される例です。
a = uiaxes('Units', 'normalized', 'Position', [0.1 0.1 0.8 0.8], 'ButtonDownFcn', @(src, event) disp(src.CurrentPoint));
patch(a, [0,1,0.5], [0,0,1], [.5,.5,.5], 'HitTest', 'off');
  1 Comment
旬太
旬太 on 25 Apr 2023
図形のプロパティのHitTestをoffにすることで、図形へのクリック判定がなくなり、座標軸のコールバック判定となりました。
とても助かりました。ありがとうございます。

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!