グラフ上の座標取得

28 vues (au cours des 30 derniers jours)
Mamoru Mabuchi
Mamoru Mabuchi le 16 Juin 2020
Réponse apportée : michio le 23 Juin 2020
グラフ上の座標を取得する関数ginputは、マウスの左ボタンを押した時の座標を取得できますが、
左ボタンを押した時と、左ボタンを放した時両方の座標を取得する方法はありますか?

Réponses (2)

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

Catégories

En savoir plus sur グラフィックス出力のターゲットの指定 dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!