MATLAB: Partial transparent surface plot

MATLABnansurfacetransparency

Hello together,
I'm trying to plot a surface where all points with a z value between -0.5 and 0.5 are 100% transperent. I've tried to make all these values to NaN (not a number). This works, so far, that the surface looks like expected, but i can not use the data cursor. When using the data cursor matlab crashes. Is there another way of makeing areas transparent or does anyone know, why matlab crashes?
Thank you for your help.
Rafael

Best Answer

You can set AlphaData to 0 where you don't want to see any colour. Here is an example hiding values of a trigonometric function between 0 and 1:
[X,Y] = meshgrid(1:0.5:10,1:20);
Z = sin(X) + cos(Y);
s = surf(X,Y,Z);
s.AlphaData = (Z<=0) | (Z>=1);
s.FaceColor = 'texturemap';
s.FaceAlpha = 'texturemap';