ginput and plot data

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

 Risposta accettata

Sean de Wolski
Sean de Wolski il 5 Gen 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 Commenti

Pablo
Pablo il 5 Gen 2012
*.*, you're my hero! xD
Thanks a lot ;)
Yunus
Yunus il 8 Dic 2014
Hello Mr .Sean de Wolski ;
i have a problem about this topic please help me. so my problem is how can i obtain selected points pixels index .for example i have rgb picture and i want to selecet particular place with mause and i want to get picture's pixel values.
Thans for helping.
Chad Greene
Chad Greene il 9 Dic 2014
Yunus: clickz do what you want?
Sean de Wolski
Sean de Wolski il 9 Dic 2014
Or impoint

Accedi per commentare.

Più risposte (1)

% plot x,y
plot(x,y)
% ginput 10 points
plot(y)
[index,~] = ginput(10);
% plot again
figure();
plot(x(round(index)),y(round(index)));

Categorie

Community Treasure Hunt

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

Start Hunting!

Translated by