How to zoom in/out on the figures in app designer

58 Ansichten (letzte 30 Tage)
Zhangjun Yu
Zhangjun Yu am 28 Mär. 2016
Verschoben: Adam Danz am 14 Jun. 2023
I cannot find the method for adding an toolbar with function of zoom in/out in the app designer, if it is not been supported now?
  1 Kommentar
Blanca Larraga
Blanca Larraga am 28 Mai 2018
Verschoben: Adam Danz am 14 Jun. 2023
Is there any option to just apply the zoom option to one of the two axis? Thank you very much in advance.
Best regards, Blanca

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Adam Danz
Adam Danz am 12 Dez. 2019
Bearbeitet: Adam Danz am 14 Jun. 2023
Zooming and panning was supported in MATLAB R2017a but you had to turn those interaction on.
Starting in R2018b, those interations were on by default.
Starting in R2019a those interactions became available in the toolbar.

Weitere Antworten (4)

Mirek Janda
Mirek Janda am 16 Apr. 2018
Bearbeitet: Mirek Janda am 18 Apr. 2018

You can try this:

               pan(app.UIAxes,'on');
               zoom(app.UIAxes,'on');

Then create a button to get the zoom 'off' and reset the axis:

                 zoom(app.UIAxes,'off');
                 app.UIAxes.XLimMode = 'auto';
                 app.UIAxes.YLimMode = 'auto';
  3 Kommentare
T.A.S.
T.A.S. am 2 Jul. 2018
Bearbeitet: T.A.S. am 2 Jul. 2018
Can you provide an example code in app designer with the callbacks?
craq
craq am 27 Jul. 2018
Sure. In standard matlab I can do this:
figure
plot(1:10)
drawnow
zoom(gca,'on') %start zoom mode
keyboard
%click, zooms in
zoom(gca,'out') %zooms out
keyboard
%check that figure is zoomed out
zoom(gca,'off') %exit zoom mode
If I have an axes in appdesigner, I can do
zoom(app.UIAxes, 'on')
%now clicking/scrolling in the figure will zoom in
zoom(app.UIAxes, 'off')
but not
>> zoom(app.UIAxes, 'out')
Error using matlab.ui.control.UIAxes/togglemode
Unknown action character vector.

Melden Sie sich an, um zu kommentieren.


Chris Portal
Chris Portal am 10 Apr. 2016
Unfortunately, App Designer does not offer support for adding a toolbar at this time.
  2 Kommentare
Nathan Gyger
Nathan Gyger am 23 Dez. 2016
What a pity!
Waleed Sahhary
Waleed Sahhary am 5 Nov. 2018
try this workaround pleas: zoom(app.UIAxes,'on')

Melden Sie sich an, um zu kommentieren.


Luciano Junior
Luciano Junior am 9 Jan. 2018
Try to build your on zoom ;) Once your figure is ploted, add an edit field (here you should insert the specific area in your figure to where you want to zoom) after add a slider to control the zoom (the slider values should control your Xlim) add a callback to the slider in order to plot the figure again (use the same code you used to plot the figure but now use the edit field and the slider values to control your XLim) everytime you change the slider value your figure will be updated.
Good luck!

Ana Gonçalves
Ana Gonçalves am 19 Mai 2022
Make sure to check if the 'PickableParts' and 'HitTest' are set like in this picture. This solved my problem, hope that it solve yours too.

Kategorien

Mehr zu Data Exploration finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by