ginput and plot data

4 views (last 30 days)
Pablo
Pablo on 5 Jan 2012
Hi, i have a question:
When i click near of a pointF (pointF is a point that belongs to the function plotted on the graph), is there a way that "ginput" gives me that pointF?
Example: "ginput" gives me (37.8, 251.3), but the point that belongs to the function plotted is (38, 250), i need that "ginput" gives me (38,250) when i click on (37.8, 251.3)
Regards, and sorry for my Tarzan english xD

Accepted Answer

Sean de Wolski
Sean de Wolski on 5 Jan 2012
minimum absolute differences kick in again:
xx = 1:10; %xdata
yy = exp(xx);
plot(xx,yy);
[xm ym] = ginput(1); %xmouse, ymouse
%Engine
[~, xidx] = min(abs(xx-xm)); %closest index
[~, yidx] = min(abs(yy-ym));
x_closest = xx(xidx) %extract
y_closest = yy(yidx)
  4 Comments
Chad Greene
Chad Greene on 9 Dec 2014
Yunus: clickz do what you want?
Sean de Wolski
Sean de Wolski on 9 Dec 2014
Or impoint

Sign in to comment.

More Answers (1)

Stefano Dalla Gasperina
Stefano Dalla Gasperina on 10 Sep 2020
% plot x,y
plot(x,y)
% ginput 10 points
plot(y)
[index,~] = ginput(10);
% plot again
figure();
plot(x(round(index)),y(round(index)));

Categories

Find more on Printing and Saving in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!