2

根据MA​​TLAB 文档

如果一条线与面片或曲面共面,并且正在使用 zbuffer 或 OpenGL 渲染器,则这些线出现在顶部。

line一个和一个对象的相对排列patch不能被uistack函数修改(例如,uistack(patchHandle,'top')uistack(lineHandle,'bottom')改变一个对象相对于另一个对象的层)。是否可以在不选择替代渲染器的情况line下强制 a 驻留在比 a 更低的层中?patch

4

1 回答 1

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)

现在从下到上:红线,蓝线,补丁

蓝过红

于 2015-09-15T19:14:56.087 回答