get zoom status of a UIAxes

4 vues (au cours des 30 derniers jours)
craq
craq le 27 Juil 2018
Réponse apportée : Sameer le 29 Mai 2025
For a figure axes, I can find out whether zoom is active or not by doing:
figure
plot(1:10)
h = zoom(gca);
get(h,'Enable') %off
zoom(gca,'on') %start zoom mode
get(h,'Enable') %on
but the equivalent with a UIAxes doesn't seem to work:
>> h = zoom(app.UIAxes)
Error using matlab.ui.control.UIAxes/zoom
Too many output arguments.
How can I find out whether zoom is active on my UIAxes?

Réponses (1)

Sameer
Sameer le 29 Mai 2025
In the case of "UIAxes", we cannot use "zoom(app.UIAxes)" to get the zoom object like we can with regular axes. This will result in an error because "UIAxes" does not support that syntax.
There is no direct way to check if zoom is currently enabled on a "UIAxes". A common workaround is to manage the zoom state manually using a variable.
Here's an example code:
% Enable zoom
zoom(app.UIFigure, 'on');
app.ZoomEnabled = true;
% Later check
if app.ZoomEnabled
disp('Zoom is on');
else
disp('Zoom is off');
end
Hope this helps!

Catégories

En savoir plus sur Data Exploration dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by