フィルターのクリア

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

8 ビュー (過去 30 日間)
旬太
旬太 2023 年 4 月 21 日
コメント済み: 旬太 2023 年 4 月 25 日
座標軸のコールバック上でcrurentPointを使ったところ、図形がプロットされていない点での座標は取得できましたが、
図形上の点ではクリックしても座標を取得することができませんでした。
代わりにginputを使用しましたが、新しく作成されたfigure上での座標の取得しかできず、アプリ上の座標軸に対しての座標の取得ができませんでした。

採用された回答

交感神経優位なあかべぇ
交感神経優位なあかべぇ 2023 年 4 月 22 日
図形をクリックすると、図形へのクリック判定になり、座標軸のコールバック判定が発生していないと考えられます。
これを回避するには、図形のプロパティの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 件のコメント
旬太
旬太 2023 年 4 月 25 日
図形のプロパティのHitTestをoffにすることで、図形へのクリック判定がなくなり、座標軸のコールバック判定となりました。
とても助かりました。ありがとうございます。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeグラフィックス オブジェクトのプロパティ についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!