# How can i exactly click on a point that has drawed on a plot using ginput ?

2 views (last 30 days)

Show older comments

Hello!

My problem is:

I have had some points on a figure use plot command with this command lines:

figure;

hold on

x = [1 2 3 4 5]

y = [7 8 9 10 11]

for i = 1:5

plot(x(i),y(i),'*','MarkerSize',12,'Color','r')

end

% Retrieve coordinate of points

[xx,yy] = ginput(length(x))

Now, I want to use ginput() or getPoint() to click on anypoint in the figure.

But, It is difficult to click on a point exxactly.

For example, i want to click on first point that has x = 1 and y = 7. But, when i trying to click on it to retrieve its coordinate, what matlab returns is that i expect (x = 1,y = 7)..

How can i do?????

Please help me!

Thank you so much!

##### 4 Comments

Jan
on 11 Jan 2019

### Accepted Answer

Jan
on 11 Jan 2019

Edited: Jan
on 11 Jan 2019

Considering my comment, my answer is:

You can't. You would need a massive zooming to try to do so. Remember, that [1.000000000000000, 7.000000000000000] is not necessarily represented by a pixel on the screen, but selecting a pixel is the maximum achievable resolution.

The solution is to adjust your needs: What about finding the point nearest to the selected pixel?

What about using the ButtonDownFcn of the drawn points instead of ginput?

##### 4 Comments

Timon Rayis
on 30 Oct 2019

@Jan

Can you please explain about ButtonDownfcn briefly?

Is that an alternate for ginput?

Jan
on 4 Nov 2019

The ButtonDownFcn is a property of the object e.g. created by plot or line. Example:

AxesH = axes;

LineH = line(1:10, rand(1,10), 'ButtonDownFcn', {@myCallback, AxesH});

function myCallback(LineH, EventData, AxesH)

disp(AxesH.CurrentPoint)

end

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!