Plot Renderer with fill and semilogx

Hey all,
I have a plot I'm generating that has both frequency domain plotted as semilogx, and timeseries as regular plots. I also have fills on the plot as well. I was hoping that the fill would be transparent (such that I can see the grid), in which case I must use the OpenGL renderer. However, this causes the semilogx plots to look quite odd. When I use the zbuffer renderer, I get good semilogx plots, but the fill is no longer transparent. Finally with the painters buffer, I can't even see the lines let alone gridlines. Please see the attached examples.
Is there something I'm missing, or will I just have to go with the zbuffer and live with it?
Thanks so much! Trevor

3 Comments

Which MATLAB release are you using, and which operating system? Are you using hardware opengl or software opengl? Use
opengl info
to get information about that.
In R2016b on OS-X (El Capitan), those three figures look the same to me. But they would not look the same in R2014a or earlier.
>> opengl info
Version = 4.3.12458 Compatibility Profile Context 13.200.0.0
Vendor = ATI Technologies Inc.
Renderer = AMD Radeon HD 7570M
MaxTextureSize = 16384
Visual = 02 (RGB 32 bits(08 08 08 08) zdepth 24, Hardware Accelerated, Opengl, Double Buffered, Window)
Software = false
# of Extensions = 237
Driver Bug Workarounds:
OpenGLBitmapZbufferBug = 0
OpenGLWobbleTesselatorBug = 0
OpenGLLineSmoothingBug = 0
OpenGLDockingBug = 0
OpenGLClippedImageBug = 0
OpenGLEraseModeBug = 0
Trevor, which MATLAB version are you using, and which operating system? I would judge it most probable from your graphics hardware that you are using MS Windows, but which MATLAB ?

Sign in to comment.

Answers (1)

Star Strider
Star Strider on 24 Nov 2016
I’ve not looked at your .fig files.
I would not use fill. If you want to change the 'FaceAlpha' transparency, I would use patch. It’s much easier to work with if you want to adjust its properties.

2 Comments

fill() creates patch objects, so it is a useful convenience function. It is valid to use fill() with 'FaceAlpha' name/value pair.
I agree that it should be, but fill doesn’t always (in every release) apparently have 'FaceAlpha' as an option. I’ve encountered this problem in previous Questions.
We need to know the release, and whether 'FaceAlpha' works for Trevor Harris here. It always works with patch but not always with fill. (It works for both in R2016b.)

Sign in to comment.

Categories

Find more on Graphics Performance in Help Center and File Exchange

Asked:

on 24 Nov 2016

Commented:

on 29 Nov 2016

Community Treasure Hunt

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

Start Hunting!