2009-01-11 23 views

Respuesta

42

Otra opción es establecer el edgeColor y/o lineStyle propiedades del objeto del mango de superficie a ninguno.

>> hSurf = surf(X,Y,Z,'EdgeColor','none','LineStyle','none','FaceLighting','phong'); 
+0

funcionó! gracias –

10

El comando de sombreado es su amigo:

sombreado plano - le da la superficie sin líneas de malla

sombreado interp - interpola colores entre parches para dar un acabado liso

sombreado facetas - le da la superficie con líneas de malla negro (similar a la plana)

+0

He ejecutado el sombreado plano antes del comando de surf, pero no vi ninguna diferencia. ¿Porqué es eso? –

+1

Necesita ejecutarlo después del comando de navegación, puede haber una manera de establecer el sombreado predeterminado para una nueva figura, pero no sé cuál es. –

16

Esta es una solución más general, puede cambiar el edgeColor después de que se haya creado la superficie también. No depende de LineStyle y FaceLighting.

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

Nota: He hecho un video de 45 segundos que muestra que esto ocurre y cómo solucionarlo.

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

+0

Este método también funciona para surfl (..). –

3

Creo shading interp es el que usted está buscando.

Cuestiones relacionadas