Zoom tools from Toolbar does not work properly on every axes, Matlab GUI.
Show older comments
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 Comments
Adam
on 12 Jun 2017
I'm not totally clear what setup you have, but setting the 'Visible' property of an axes just switches off the box and ticks, it won't make the whole axes and its children invisible. Any image or anything else plotted on the axes will remain visible.
Fabio Rossi
on 13 Jun 2017
Fabio Rossi
on 13 Jun 2017
Kristoffer Walker
on 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
on 22 Nov 2017
Can't you just switch the order of the axes when you make one invisible too?
Accepted Answer
More Answers (1)
Steven Lord
on 13 Jun 2017
1 vote
Use the setAllowAxesZoom method of the zoom mode object to control which axes are allowed to zoom and which are not.
1 Comment
Haifei Cheng
on 21 Dec 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!
Categories
Find more on Data Exploration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!