patch object exceed axes when zoomed

2 次查看(过去 30 天)
Pengfei
Pengfei 2012-12-2
评论: Silvia 2014-2-24
Hi, I found the same question on this forum, but no answer for that. So I'm reposting this, hopefully somebody can help!
I've a GUI containing two panels, one to the left and the other right. The right panel contains an axes, which in turn contains a 3d patch object. When zoomed in, the patch object would exceed the panel borders, and appears in the background on the left panel. How to contain the patch object strictly inside the panel so that it doesn't mess up with other components?
I tried change figure renderer, doesn't help.
Thank you!

回答(2 个)

Walter Roberson
Walter Roberson 2012-12-3
Set the Clipping property of the uipanel to 'on'. See http://www.mathworks.com/help/matlab/ref/uipanelproperties.html#bqxrv_e_1
  1 个评论
Pengfei
Pengfei 2012-12-3
Sorry this doesn't help. I'm a little confused now, as for panel, there's a Clipping property; for the axes, also a clipping property, saying: "Clipping mode. This property has no effect on axes". Looks like when zoomed, the object can exceed the uipanel borders, but cannot overshadow other uicontrol components.

请先登录,再进行评论。


Jan
Jan 2012-12-3
编辑:Jan 2012-12-3
Try to set the Clipping property of the patch object, not of the axes. Then the patch should not be displayed outside the axes and in consequence not outside the panel also (when the axes do not exceed the panel also).
If this does not help, you could try to switch the renderer from OpenGL to ZBuffer.
  1 个评论
Silvia
Silvia 2014-2-24
Hi Jan,
Do you know if there is a way to solve it with renderer OpenGL? the problem is that the problem is solved with Zbuffer but if Zbuffer is used the patches with transparency are lost. thank you very much
Silvia

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by