use plot to receive user input

62 views (last 30 days)
Samuel
Samuel on 21 May 2014
Answered: dpb on 22 May 2014
Hello, I want to plot a set of data points, and have the user click on the plot at a certain point in the line itself, and based on the selection, set a particular variable.
I guess the plot function uses a similar procedure to indicate the x and y position when I click on it- if there is a way to get the x coordinate saved in a variable of my choosing, that will work for me.
thanks in advance for your help.
sam

Accepted Answer

dpb
dpb on 21 May 2014
doc ginput % maybe?
  1 Comment
Samuel
Samuel on 22 May 2014
yup, I think I can work with this, thanks. If I may ask another question- I am trying to get one of the coordinates from this ginput, and search for a value close to this in another array, what would be the approach to accomplish this? For instance, if
array fun=[50 53 60 64]
[x,y]=ginput;
If I extracted a coordinate of 55,80 from ginput, and want to use just the x coordinate and get the index number in array fun that is closest to that point, what would be the steps?
thanks in advance.

Sign in to comment.

More Answers (1)

dpb
dpb on 22 May 2014
a) [~,i]=min(abs(x-fun));
b) i = interp1(fun,1:length(fun),x,'nearest');
Will leave as "exercise for the student" the precise "how" of both altho the first is pretty obvious... :)

Products

Community Treasure Hunt

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

Start Hunting!