Plot Renderer with fill and semilogx

6 views (last 30 days)
Trevor Harris
Trevor Harris on 24 Nov 2016
Commented: Walter Roberson on 29 Nov 2016
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
Trevor Harris
Trevor Harris on 28 Nov 2016
Edited: Walter Roberson on 29 Nov 2016
>> 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
Walter Roberson
Walter Roberson on 29 Nov 2016
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
Walter Roberson
Walter Roberson on 24 Nov 2016
fill() creates patch objects, so it is a useful convenience function. It is valid to use fill() with 'FaceAlpha' name/value pair.
Star Strider
Star Strider on 24 Nov 2016
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

Community Treasure Hunt

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

Start Hunting!