グラフ上の座標の取得

28 vues (au cours des 30 derniers jours)
Mamoru Mabuchi
Mamoru Mabuchi le 16 Juin 2020
Commenté : Mamoru Mabuchi le 21 Juin 2020
グラフ上の座標を取得する関数ginputは、マウスの左ボタンを押した時の座標しか取得できません。
グラフ上の座標において、マウスの左ボタンを押した時と、左ボタンを放した時両方の座標を取得する方法はありますか?

Réponse acceptée

Akira Agata
Akira Agata le 19 Juin 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 commentaire
Mamoru Mabuchi
Mamoru Mabuchi le 21 Juin 2020
解決しました。
ありごとうございました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur グラフィックス オブジェクトのプロパティ dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!