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

1 view (last 30 days)
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 Comment
dpb
dpb on 13 Apr 2016
Have to show a sample that creates the problem for anybody to be able to do something...can't diagnose what can't duplicate.

Sign in to comment.

Answers (1)

Mike Garrity
Mike Garrity on 13 Apr 2016
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 Comments
MM GG
MM GG on 13 Apr 2016
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 on 13 Apr 2016
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.

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!