如果一条线与贴片或曲面共面,并且正在使用zbuffer或OpenGL渲染器,则这些线条会显示在顶部。
line
和patch
对象的相对排列无法通过uistack
函数进行修改(例如,uistack(patchHandle,'top')
和uistack(lineHandle,'bottom')
不会更改一个对象相对于另一个)。在没有选择其他渲染器的情况下,line
是否可以被强制驻留在低于patch
的层中?
答案 0 :(得分:1)
图形对象根据它们在get(gca,'children')
中的顺序进行堆叠(第一个元素=顶部,最后一个元素=底部),因此重新排列该数组可以更改线条,面片等的层次。
示例:
patch([0.25 0.25 0.75 0.75],[0.25 0.75 0.75 0.25],'y')
hold on;
plot([-1 1],[-1 1],'b-',[1 -1],[-1 1],'r-','linewidth',10)
目前从下到上:补丁,蓝线,红线
g=get(gca,'Children')
g=g([3 1 2])
set(gca,'children',g)
现在从下到上:蓝线,红线,补丁
g=get(gca,'Children')
g=g([1 3 2])
set(gca,'children',g)
现在从下到上:红线,蓝线,补丁