How to get cursor info in UIaxes
24 views (last 30 days)
Show older comments
Hi
I am trying to duplicate the code below in the app designer. This code return the point selected with the mouse from a plot in the figure. I try to run it in the app designer. But I don't know how to pass the handle of my UIaxes to "dcm_obj"
x = linspace(0,10,150);
y = cos(5*x);
fig = figure;
plot(x,y,'Color',[0,0.7,0.9])
title('2-D Line Plot')
xlabel('x')
ylabel('cos(5x)')
% Enable data cursor mode
datacursormode on
dcm_obj = datacursormode(fig);
% Set update function
set(dcm_obj,'UpdateFcn',@myupdatefcn)
% Wait while the user to click
disp('Click line to display a data tip, then press "Return"')
pause
% Export cursor to workspace
info_struct = getCursorInfo(dcm_obj);
if isfield(info_struct, 'Position')
disp('Clicked positioin is')
disp(info_struct.Position)
end
function output_txt = myupdatefcn(~,event_obj)
% ~ Currently not used (empty)
% event_obj Object containing event data structure
% output_txt Data cursor text
pos = get(event_obj, 'Position');
output_txt = {['x: ' num2str(pos(1))], ['y: ' num2str(pos(2))]};
end
How can I do it?
0 Comments
Answers (2)
chrisw23
on 21 Apr 2022
In Appdesigner you have the option to evaulate the 'CurrentPoint' property of your Axes control within a MouseMoveCallback method.
0 Comments
Walter Roberson
on 20 Apr 2022
event_obj.Target will be the handle to the graphics object. You can use ancestor(event_obj.Target, 'axes') if you need the UIAxes
0 Comments
See Also
Categories
Find more on Develop Apps Using App Designer 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!