pcolor in R2016a broken when using Intel graphics?

I've run into a problem using 'pcolor' on R2016a. When I run the following:
[x, y] = meshgrid(linspace(0, 1, 200), linspace(0, 1, 200));
pcolor(x, y, ones(size(x)))
I get:
Obviously this is not correct. When I set 'opengl software' the problem goes away. This does not occur when using R2015a on the same laptop, and I believe it might be tied to the integrated graphics on the laptop in question (Intel HD Graphics 5500 on Windows 10 using the latest driver) as it does not occur on a desktop using Nvidia graphics. Is there anything that I can do to fix this problem without resorting to software OpenGL?

4 Comments

What are you trying to do? Why do you want pcolor() anyway? Do you know that pcolor() doesn't display the last column and row of your data? Why not use imshow() instead?
1) Display the values of a 2D function limited to a small number of values
2) Because it works with meshgrids
3) Yes
4) imshow doesn't work with meshgrids
You can use meshgrid() to create two 2D arrays of coordinates (your x and y) that you can use directly in your function to create a 2D image, which you then pass in to imshow(). Do you want an example?
Thank you for the suggestion, but imshow() is of much less utility than pcolor() when the background grid is important information.

Sign in to comment.

 Accepted Answer

Rick Irons
Rick Irons on 29 Mar 2016
Edited: Rick Irons on 31 Mar 2016
This is a known driver issue that Intel has addressed in their recent 4380 driver. One workaround is to use the OpenGL hardware basic mode (“opengl hardwarebasic”). Another option is to disable the align vertex centers property (“h.AlignVertexCenters = 'off'") if it is available for the object demonstrating the issue.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Products

Asked:

on 29 Mar 2016

Edited:

on 31 Mar 2016

Community Treasure Hunt

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

Start Hunting!