How to prevent zooming out past a specific extent in UIAxes?

4 vues (au cours des 30 derniers jours)
meghannmarie
meghannmarie le 29 Sep 2020
Commenté : meghannmarie le 13 Oct 2020
How do I prevent user from zooming out past an extent in App Designer? In this example I do not want the user to be able to manually zoom out past [180 180] on xaxis or [-90 90] on yaxis. I attached a picture to illustrate.

Réponse acceptée

Nitin Kapgate
Nitin Kapgate le 12 Oct 2020
To limit the user from zooming out past an extent, you can add a custom zoom button (of 'push' button type) to the UIAxes.
In the custom callback for the custom Zoom button, query the current X and Y axis limits for the UIAxes object. If ther X and/or Y limits after zooming out go beyond ehat is required, set the X and Y limits of the UIAxes to the limits you desire.
You can refer this documentation to learn more about adding a custom button to UIAxes.
  2 commentaires
meghannmarie
meghannmarie le 13 Oct 2020
How do I program the callback function to zoom out? I tried this and it didn't work:
tb = axtoolbar(app.UIAxes,{'zoomin','restoreview'});
btn = axtoolbarbtn(tb,'state');
btn.Icon = 'zoomout';
btn.Tooltip = 'Zoom Out';
btn.ValueChangedFcn = @zoomOut;
function zoomOut
zoom(app.UIAxes,'Direction','out')
end
I have not tried to implement the X/Y limits yet, just trying to get it to zoom out...
meghannmarie
meghannmarie le 13 Oct 2020
I also tried:
set(zoom(app.UIAxes),'ActionPostCallback',@(x,y) zoomLimits(app))
but then I lose ability to zoom completely.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Visual 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