在同一图中使用不同的阴影

时间:2017-08-29 07:37:39

标签: matlab matlab-figure surface shading

是否可以在同一图中使用不同的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 个答案:

答案 0 :(得分:1)

默认情况下,使用flat'FaceColor'black'EdgeColor'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

所示更改