How to get cursor info in UIaxes
24 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(2 个)
chrisw23
2022-4-21
In Appdesigner you have the option to evaulate the 'CurrentPoint' property of your Axes control within a MouseMoveCallback method.
0 个评论
Walter Roberson
2022-4-20
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Develop Apps Using App Designer 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!