グラフ上の座標の取得

23 次查看(过去 30 天)
Mamoru Mabuchi
Mamoru Mabuchi 2020-6-16
グラフ上の座標を取得する関数ginputは、マウスの左ボタンを押した時の座標しか取得できません。
グラフ上の座標において、マウスの左ボタンを押した時と、左ボタンを放した時両方の座標を取得する方法はありますか?

采纳的回答

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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 グラフィックス オブジェクトのプロパティ 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!