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

1 Ansicht (letzte 30 Tage)
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 Kommentar
dpb
dpb am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Mike Garrity
Mike Garrity am 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 Kommentare
MM GG
MM GG am 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 am 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.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by