How to Make All Children of a Figure Invisible?
10 ビュー (過去 30 日間)
古いコメントを表示
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?
0 件のコメント
採用された回答
Adam
2017 年 3 月 24 日
編集済み: Adam
2017 年 3 月 24 日
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 件のコメント
Adam
2017 年 3 月 24 日
hGraphics = [ hax1, hax2, hax3, hrec1 ];
Or preferably put them straight in the array as e.g.
hGraphics(1) = axes;
hGraphics(2) = axes;
...
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Graphics Object Programming についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!