How can i exactly click on a point that has drawed on a plot using ginput ?
4 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
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
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
Find more on Visual Exploration 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!