Zoom tools from Toolbar does not work properly on every axes, Matlab GUI.

4 Ansichten (letzte 30 Tage)
Hi guys,
I edit a GUI with some Toolbar Tools like zoom in, zoom out, ect.. I work with three different axes which are totally overlapped, so I control their visibility using the set(handles.'axes_tag','Visible','on/off') command.
I have some problems to use tools because they don't works on each axes: in fact, I have two axes with off visibility and one visible but the tools consider the first two and not the last one. I also tried to set zoom on/off for the target axes using zoom(handle.axes_tag,'on/off') command but it seems to haven't any effect.
Can someone explain me what am I wrong or the cause of this behaviour?
Thanks for attention,
Fabio
  5 Kommentare
Kristoffer Walker
Kristoffer Walker am 22 Nov. 2017
I have the same problem. I have two layers so that I can easily toggle back and forth between two figure "views". One layer is underneath and invisible. The active one is visible. But Matlab is confused when I use the zoom tool in one of the visible axes I think. I think Matlab is registering that the mouse is hovering over an invisible axes, and so it does not zoom in/out when I release the mouse button after drawing the rectangle. What we need is a way for Matlab to scan multiple axes that are overlaid, and only zoom into the top most one if it is visible.
Kris
Adam
Adam am 22 Nov. 2017
Can't you just switch the order of the axes when you make one invisible too?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Image Analyst
Image Analyst am 13 Jun. 2017
Bearbeitet: Image Analyst am 13 Jun. 2017
Sending in the axes control to each tool, like cla or zoom, should work. If it doesn't then try to set the default axes before with the axes command:
axes(handles.subplot1); % Set current axes to the desired one.
zoom(3); % Use zoom with no handles.
See if that works.
Or you can use a scroll panel. See attached demo.

Weitere Antworten (1)

Steven Lord
Steven Lord am 13 Jun. 2017
Use the setAllowAxesZoom method of the zoom mode object to control which axes are allowed to zoom and which are not.
  1 Kommentar
Haifei Cheng
Haifei Cheng am 21 Dez. 2017
This solution works great, it also works for setAllowAxesPan. We have to set other axes off and set current axes on to make it work. Thanks for the neat solution!

Melden Sie sich an, um zu kommentieren.

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