グラフ上の座標の取得

22 visualizzazioni (ultimi 30 giorni)
Mamoru Mabuchi
Mamoru Mabuchi il 16 Giu 2020
Commentato: Mamoru Mabuchi il 21 Giu 2020
グラフ上の座標を取得する関数ginputは、マウスの左ボタンを押した時の座標しか取得できません。
グラフ上の座標において、マウスの左ボタンを押した時と、左ボタンを放した時両方の座標を取得する方法はありますか?

Risposta accettata

Akira Agata
Akira Agata il 19 Giu 2020
figureのコールバック関数 (WindowButtonDownFcn, WindowButtonUpFcn) を使うというのは、いかがでしょうか?
たとえば以下のようにすると、マウスの左ボタンを押した時と解放した時の座標を、それぞれ取得することができます。
figure(...
'WindowButtonDownFcn', @getMousePosition,...
'WindowButtonUpFcn', @getMousePosition)
plot(magic(4))
function getMousePosition(~,event)
ax = gca;
x = ax.CurrentPoint(1,1);
y = ax.CurrentPoint(1,2);
fprintf('%s\t: (x,y) = (%f,%f)\n',event.EventName,x,y);
end
上記を実行して表示されるプロット上で、マウスの左ボタンをクリック ⇒ ドラッグ ⇒ 解放とすると、以下のようにクリック時と解放時の座標がコマンドウィンドウに表示されます。
WindowMousePress : (x,y) = (1.616022,12.878505)
WindowMouseRelease : (x,y) = (2.649171,5.252336)
  1 Commento
Mamoru Mabuchi
Mamoru Mabuchi il 21 Giu 2020
解決しました。
ありごとうございました。

Accedi per commentare.

Più risposte (0)

Tag

Community Treasure Hunt

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

Start Hunting!