グラフ上の座標取得

グラフ上の座標を取得する関数ginputは、マウスの左ボタンを押した時の座標を取得できますが、
左ボタンを押した時と、左ボタンを放した時両方の座標を取得する方法はありますか?

回答(2 个)

Kenta
Kenta 2020-6-16

1 个投票

close all;
figure;
x = linspace(0,3*pi,200);
y = cos(x) + rand(1,200);
scatter(x,y)
[x1,y1] = ginput;
figure;plot(x1,y1);
放した時ではないですが、複数回左クリックして、最後にenterキーを押せば回数分の座標が得られますがいかがでしょうか。
michio
michio 2020-6-23

0 个投票

こちらの Qiita 投稿が参考になると思います。
マウスクリック時(WindowButtonDownFcn)と離した時(WindowButtonUpFcn)の挙動をコールバック関数で定義する、という多少込み入った方法ですが参考になりましたら。
以下一部抜粋
figH = figure(); % figH: Figureオブジェクト
figH.MenuBar = 'none'; % メニューをオフ
figH.WindowButtonDownFcn = @WindowButtonDownFcn_figH; % マウスボタン押下時のコールバック関数を指定
figH.WindowButtonMotionFcn = @WindowButtonMotionFcn_figH; % マウスボタン移動時のコールバック関数を指定
figH.WindowButtonUpFcn = @WindowButtonUpFcn_figH; % マウスボタンリリース時のコールバック関数を指

类别

帮助中心File Exchange 中查找有关 グラフィックス パフォーマンス 的更多信息

产品

标签

Community Treasure Hunt

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

Start Hunting!