MATLAB: Removing zero data from Scatter3 figure

barcolormapdata cleaningplotscatter3

I want to remove the zeros from the P matrix so the that they have transparent color on Scatter3 plot. I tried P(P==0)=NaN but the data still has a blue color. How do I set zero data (blue) to transparent color.
[x,y,z] = meshgrid(1:50,1:200,1:200); scatter3(y(:),z(:),x(:),5, P(:) ,'marker','.')

Best Answer

What is "transparent color"? Do you want the points to vanish? Then:
[x,y,z] = meshgrid(1:50,1:200,1:200);
keep = (P(:) ~= 0);
x = x(keep);
y = y(keep);
z = z(keep);
scatter3(y(:), z(:), x(:), 5, P(:) ,'marker', '.')