MATLAB: Surf plot with a mask

masksurf

Hi,
I'd like to plot an elevation map with surf, and it work quite well.
Howevr I'd like to color the surface not basing on Z bat basing on another matrix I have that is a logical mask.
I do not want to make transparent or not, I want two different colors basing on the mask.
How can I do?
Thanks

Best Answer

Use CData property:
[X,Y] = meshgrid(-5:5);
Z = -X.^2-Y.^2;
C = rand(size(Z));
surf(X,Y,Z,'Cdata',C)
Related Question