Stacking order of figures
조회 수: 29 (최근 30일)
이전 댓글 표시
Suppose I create three figures
for ni = 1:3
figure
plot(rand(7))
drawnow
end
These will be drawn with Figure 1 on the bottom, Figure 2 in the middle, and Figure 3 on top, remaining viewable at the end.
How can change the stacking order? Prior to 2014b, one could sort the Children of the root object numerically, but I can't figure out how to do it in 2014b.
댓글 수: 0
답변 (1개)
Doug Hull
2014년 11월 18일
Maybe I am misunderstanding the question:
close all
for ni = 1:3
figure
plot(rand(7))
drawnow
end
uistack(2,'top')
uistack(1,'top')
댓글 수: 4
men8th
2023년 2월 8일
편집: men8th
2023년 2월 8일
An explicit version of the above command, which doesn't rely on casting a figure handle to double returning the figure number is:
set(groot,'Children',sort([get(groot,'Children').Number]))
This also uses groot to point to the graphics root object, rather than the magic number 0.
From reading the documentation, This will only find and re-order figures with visible handles. To work with all figures, you need to use findall.
참고 항목
카테고리
Help Center 및 File Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!