How can I delete an axes handle from a GUI?

So let me explain better. I have axes1 in my GUI and I have used 'scatter' to draw something in axes1. Now I want to remove the image and make axes1 non visible.
I tried to use set(handles.axes1,'Visible','Off') but this only makes axes not visible leaving there the scatter image.
I have also tried delete(handles.axes1) but this removes completely the handles from my GUI and I don't want that because the user may want to scatter a new graphic.
Sorry for my bad English and I hope I made myself clear...
Thanks!

 Accepted Answer

Image Analyst
Image Analyst on 24 Mar 2013
Edited: Image Analyst on 24 Mar 2013
Unfortunately MATLAB is not like Microsoft Visual Studio in that regard. Setting the axes to invisible doesn't really hide the whole thing. Possibly the easiest way to do that is to place the axes inside a panel. Then you can set the panel visibility on or off and it will show or hide everything inside of it. Using cla() and it's various options will not hide the whole thing - you'll still have stuff showing. Hope that helps.

4 Comments

Thanks man it really helps ;) I am trying to use cla() but you're right, I still have legend and a colorbar that don't disappear. Do you have any ideia how can I make them go away without using panel? (any specific function to close legends and colorbars perhaps?)
You'd have to use findobj() and figure out the handles of all the various parts and components of the axes, colorbar, and legend. Not easy. Then set all of those components' visibility on or off. A real hassle. Once the handles are found out, you can hard code them into a function and just call the function passing it on or off - makes it a little easier to use if you have to do it in serveral places in your code, or just to clean up / modularize your code to make it easier to read.
Thanks man! I will try it ;)
It's done. With legend I only wrote legend(handles.axes1,'off'). With colorbar I did like you said using findobj and it worked. Thanks ;)

Sign in to comment.

Categories

Find more on Creating, Deleting, and Querying Graphics Objects 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!