238 views (last 30 days)

Hello,

So I've been using ginput to select points on a plot

My plot consists of time(x) and velocity(y).

Below is my user-selected points.

[Userx,Usery] = ginput(1);

However, I noticed it doesn't actually select points from the voltage vs. time graph and instead just a point in the figure screen.

How can I get the nearest data point of the actual plot?

I've found one solution is to use this user created script file:

https://www.mathworks.com/matlabcentral/fileexchange/3265-magnetginput

darova
on 14 Nov 2019

Short example

x = linspace(0,2,20)'; % generate some data

y = sin(x);

plot(x,y,'.-b')

xy = ginput(1); % get point

[~,ix] = min(pdist2([x y],xy)); % find closest point

hold on

plot(x(ix),y(ix),'or') % display closest point

hold off

Fangjun Jiang
on 12 Nov 2019

Use data cursor, set "SnapToDataVertex" to be "on" and then get the position. See example in

doc datacursormode

Opportunities for recent engineering grads.

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

Start Hunting!
## 0 Comments

Sign in to comment.