datacursormode isn't working on a specific UIAxes for Matlab R2023a
16 次查看(过去 30 天)
显示 更早的评论
I have MATLAB R2023a. I have a matlab app with different UIAxes. I would like to assign different custom data cursor behavior for each UIAxes. However, when I try to use:
dcm1 = datacursormode(app.UIAxes1, 'on');
set(dcm1, 'UpdateFcn', @(~, event_obj) customDataCursorForUIAxes1(app, event_obj));
I get matlab error saying: Invalid figure handle. I don't understand what's the reason behind that specifically that it's supposed to be a valid new feature:
8 个评论
Wenzhao
2024-1-27
Exactly. I just give it as an example.
When I was developing an APP, it would be like this " datacursormode(app.UIaxes_xxx, 'on')". But it doesnt work.
That is why I check datacursormode.m file and HELP.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1601456/image.png)
As I emphasized ("DATACURSORMODE only works on figure handle not on axe handle yet."), the datacursormode.m is not support what HELP tell.![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1601461/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1601461/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1601466/image.png)
Walter Roberson
2024-1-27
The comments have not been updated to reflect accepting an axes. The code for handling an axes starts at roughly line 117
webAxesInputArgument = (nargin > 0) && matlab.graphics.interaction.internal.isWebAxes(varargin{1});
回答(1 个)
Walter Roberson
2023-10-25
At the time you make the call
dcm1 = datacursormode(app.UIAxes1, 'on');
app.UIAxes1 is not a valid Axes object that is parented by a uifigure .
For example it might be parented by a traditional figure, or it might have been deleted.
(Or at least toolbox/matlab/graphics/+matlab/+graphics/+interaction/+internal/isWebAxes.p cannot detect that it is an Axes parented by a uifigure. That is a .p file so we cannot check it for potential bugs involving container objects.)
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!