AppDesignerで複数の図形をプロットした座標軸上でのクリックした点の座標を取得する方法を教えてください。
8 views (last 30 days)
Show older comments
座標軸のコールバック上でcrurentPointを使ったところ、図形がプロットされていない点での座標は取得できましたが、
図形上の点ではクリックしても座標を取得することができませんでした。
代わりにginputを使用しましたが、新しく作成されたfigure上での座標の取得しかできず、アプリ上の座標軸に対しての座標の取得ができませんでした。
0 Comments
Accepted Answer
交感神経優位なあかべぇ
on 22 Apr 2023
図形をクリックすると、図形へのクリック判定になり、座標軸のコールバック判定が発生していないと考えられます。
これを回避するには、図形のプロパティの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');
More Answers (0)
See Also
Categories
Find more on グラフィックス オブジェクトのプロパティ in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!