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

조회 수: 5 (최근 30일)
meghannmarie
meghannmarie 2020년 9월 29일
댓글: meghannmarie 2020년 10월 13일
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.

채택된 답변

Nitin Kapgate
Nitin Kapgate 2020년 10월 12일
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
meghannmarie
meghannmarie 2020년 10월 13일
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 2020년 10월 13일
I also tried:
set(zoom(app.UIAxes),'ActionPostCallback',@(x,y) zoomLimits(app))
but then I lose ability to zoom completely.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Visual Exploration에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by