Matlab R2012 - alpha in one axes causes clipping in another axes on the same figure

1 回表示 (過去 30 日間)
MM GG
MM GG 2016 年 4 月 13 日
コメント済み: Mike Garrity 2016 年 4 月 13 日
I have a figure with several axes. Using alpha in one axes causes the Renderer to switch to 'OpenGl'. This make the neighbor axes (h_neighbor) go crazy - clipping is turned on, axis disappear, lines looks weird.
I tried several things: (1) Changing order of code, (2) set(h_neighbor,'handlevisibility','off') - didn't work. (3) With the 'painters' Renderer - the alpha doesn't work.
How can I solve this?
Thanks!
  1 件のコメント
dpb
dpb 2016 年 4 月 13 日
Have to show a sample that creates the problem for anybody to be able to do something...can't diagnose what can't duplicate.

サインインしてコメントする。

回答 (1 件)

Mike Garrity
Mike Garrity 2016 年 4 月 13 日
The renderer is shared by all of the axes in a figure. As you've noted, in R2012, you could only use transparency with the OpenGL renderer, and that had a lot of bugs like the ones you're describing. In R2014b, those bugs in the OpenGL renderer were fixed, and the painters renderer started supporting transparency. So that'd be your best bet.
You might be able to work around this in R2012 by using uipanel . Each panel can have its own renderer, so you might be able to get more control by putting each axes in its own panel. I'm not really sure that would work thoug.
  2 件のコメント
MM GG
MM GG 2016 年 4 月 13 日
Thanks Mike. Can you please demonstrate how to specify a unique renderer for a panel? I don't see this property when I use get(p) (where p is panel identifier).
Mike Garrity
Mike Garrity 2016 年 4 月 13 日
I wasn't sure what release that was added in. If it's not in the output of get, then it probably was added in a later release. Sorry.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeGraphics Performance についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by