2017-08-29 34 views
2

在同一图中可以使用不同的shading类型吗?在同一图中使用不同的阴影

例如这样的代码:

figure; hold on 
surf(1:10,1:10,repmat(1,10,10),rand(10)) 
shading flat; hold on 
surf(1:10,1:10,repmat(3,10,10),rand(10)) 
shading flat; hold on 
surf(1:10,1:10,repmat(5,10,10),rand(10)) 
shading interp 
view(-15,32) 

结果: example

使得最后shading确定类型interp在图中所有的对象。

是否有一些解决方法?

回答

1

默认情况下,'FaceColor'flat'EdgeColor'black当您使用surf
shading flat'FaceColor'设置为'flat''EdgeColor'设为none
shading interp'FaceColor'设置为'interp''EdgeColor'设为none

所以,你可以指定这样的属性:

figure; 
surf(1:10,1:10,repmat(1,10,10),rand(10),'EdgeColor','none'); 
hold on;  %You don't need to use hold on again and again 
surf(1:10,1:10,repmat(3,10,10),rand(10),'EdgeColor','none'); 
surf(1:10,1:10,repmat(5,10,10),rand(10),'FaceColor', 'interp','EdgeColor','none'); 
view(-15,32); 

这给:

output

或得到一个处理以后如图所示documentation每个表面情节和变化。