How to draw a surface plot without black edges in MATLAB?

后端 未结 4 522
日久生厌
日久生厌 2020-12-25 11:10

The black lines are awful, how can I get rid of them? I want only the colored surfaces.

相关标签:
4条回答
  • 2020-12-25 11:49

    This is a more general solution, you can change the edgeColor after the surface has been created too. It does not rely on LineStyle and FaceLighting.

    a= peaks(1000);
    h = surf(a)
    set(h, ‘edgecolor’,'none’)
    

    Note, I have made a 45 second video that shows this occurring and how to fix it.

    http://blogs.mathworks.com/videos/2008/08/13/matlab-basics-setting-edge-color-for-large-surface-plots/

    0 讨论(0)
  • 2020-12-25 11:54

    Another choice is to set the edgeColor and/or lineStyle properties of the surface handle object to none.

    >> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong');
    
    0 讨论(0)
  • 2020-12-25 11:55

    I believe shading interp is the one you're looking for.

    0 讨论(0)
  • 2020-12-25 12:07

    The shading command is your friend:

    shading flat - gives you the surface without mesh lines

    shading interp - interpolates colours between patches to give a smooth finish

    shading faceted - gives you the surface with black mesh lines (similar to flat)

    0 讨论(0)
提交回复
热议问题