surf() plots weird black lines
3 views (last 30 days)
Show older comments
Hi,
the surface plot contains weird lines that connect edges of the surface. For example the following code:
x = -3:0.1:3;
y = -3:0.1:3;
[xx,yy] = meshgrid(x,y);
zz = xx.^2 - yy.^2;
surf(xx,yy,zz);
plots this:
surprisingly when I File->Save As, those lines are gone from the output image file.
I'm using version: 8.2.0.701 (R2013b) Is this a bug? There appears to be a similar question here: http://www.mathworks.com/matlabcentral/answers/52846-surf-command-gives-false-lines
I know I can disable lines with: 'EdgeColor', none. But I want the grid because it helps me visualize.
0 Comments
Accepted Answer
Sean de Wolski
on 23 Jul 2014
Edited: Sean de Wolski
on 23 Jul 2014
Most likely opengl and when you print it implicitly changes the renderer to painters. You can do this explicitly by running:
set(gcf,'Renderer','painters')
You could also try using the software version of opengl:
opengl software
1 Comment
More Answers (2)
Joseph Cheng
on 23 Jul 2014
If you rotate the surf image does the lines disappear? I was able to run what you have in the same 8.2.0.701 (R2013b) (64 bit) and i don't have those lines.
if you check out this thread http://www.mathworks.com/matlabcentral/answers/52943-mesh-or-surf-display-problem-on-windows-7 it does sound like it may be your graphics drivers or openGL.
0 Comments
Donald K
on 23 Jul 2014
1 Comment
Sean de Wolski
on 23 Jul 2014
The fact that opengl software fixes it points to this not being a MATLAB bug but being a bug in the drivers.
See Also
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!