How to Make All Children of a Figure Invisible?

8 visualizaciones (últimos 30 días)
Rightia Rollmann
Rightia Rollmann el 24 de Mzo. de 2017
Comentada: Adam el 24 de Mzo. de 2017
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?

Respuesta aceptada

Adam
Adam el 24 de Mzo. de 2017
Editada: Adam el 24 de Mzo. de 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 comentarios
Rightia Rollmann
Rightia Rollmann el 24 de Mzo. de 2017
And how can I create the array hGraphics?
Adam
Adam el 24 de Mzo. de 2017
hGraphics = [ hax1, hax2, hax3, hrec1 ];
Or preferably put them straight in the array as e.g.
hGraphics(1) = axes;
hGraphics(2) = axes;
...

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Graphics Object Properties en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by