Determine if mouse click on a plot is within plot region
3 views (last 30 days)
Show older comments
Hi, so I have a 2D plot, and when I click on any point, I need to know whether the point I clicked is inside the plot region or outside. Can someone show me how it can be done? Thanks
Accepted Answer
More Answers (2)
Matt Fig
on 5 Apr 2011
Here is a way to do it programmatically, as in a GUI for example. Save this in an M-file then run the M-file. Click on the axes or outside the axes:
function [] = example()
fh = figure;
axes('units','pix')
plot(1:10)
set(fh,'windowbuttondownfcn',{@fhbdfcn,get(gca,'position')})
function [] = fhbdfcn(varargin)
% WindowButtonDownFcn for figure.
P = varargin{3};
cp = get(varargin{1},'currentpoint');
if cp(1)>P(1) && cp(2)>P(2) && cp(1) < (P(1)+P(3)) && cp(2)<(P(2)+P(4))
disp('In Axes')
else
disp('Not in Axes')
end
0 Comments
See Also
Categories
Find more on Data 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!