How to Make All Children of a Figure Invisible?

Imagine I have a figure with three axes objects and a rectangle.
hfig = figure;
hax1 = axes;
hax2 = axes;
hax3 = axes;
hrec1 = rectangle;
How can I make the axes objects and the rectangle invisible, so only an empty figure is visible, and then again visible?

 Risposta accettata

Adam
Adam il 24 Mar 2017
Modificato: Adam il 24 Mar 2017
You could store them all in an array and then you can just use
set( hGraphics, 'Visible', 'off' )
Certainly your axes would be better as hAx(1), hAx(2), hAx(3) rather than 3 individual variables and you can tag a rectangle onto the same array too as it will just be an array of general graphics objects.
Recursively hunting through children can be a messy business although there may be functions that can do it, or something on file exchange.
A rectangle will be parented by an axes though so you can explicitly get children of your axes and hide them rather than starting at figure level.

2 Commenti

And how can I create the array hGraphics?
hGraphics = [ hax1, hax2, hax3, hrec1 ];
Or preferably put them straight in the array as e.g.
hGraphics(1) = axes;
hGraphics(2) = axes;
...

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating, Deleting, and Querying Graphics Objects in Centro assistenza e File Exchange

Richiesto:

il 24 Mar 2017

Commentato:

il 24 Mar 2017

Community Treasure Hunt

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

Start Hunting!

Translated by