Removing values from surf?

10 views (last 30 days)
waqas
waqas on 3 Feb 2021
Answered: Matt J on 3 Feb 2021
I am plotting surf plot from the data (.mat file attached), but, there is data where Z values are zero which is ruining the plot. This results in "walls" around important features in surf. Following is the code that I am using:
ax = surf(X,Y,Z,temp); colormap((hot(30))); colorbar;
caxis([mean(temp,'all','omitnan')-2.5*std(temp,[],'all','omitnan') mean(temp,'all','omitnan')+2.5*std(temp,[],'all','omitnan')]);
ax.LineStyle = 'none';ax.EdgeColor = 'flat';ax.FaceColor = 'flat';
xlim([-70 70])
ylim([-70 70])
zlim([-30 30])
I want to keep the limits same. Resulting plot looks like this:
Any suggestions on how I can get rid of these "walls"?

Accepted Answer

Matt J
Matt J on 3 Feb 2021
load(websave('data.mat','https://www.mathworks.com/matlabcentral/answers/uploaded_files/508797/data.mat'))
Z(Z==0)=nan;
ax = surf(X,Y,Z,temp); colormap((hot(30))); colorbar;
caxis([mean(temp,'all','omitnan')-2.5*std(temp,[],'all','omitnan') mean(temp,'all','omitnan')+2.5*std(temp,[],'all','omitnan')]);
ax.LineStyle = 'none';ax.EdgeColor = 'flat';ax.FaceColor = 'flat';
xlim([-70 70])
ylim([-70 70])
zlim([-30 30])

More Answers (0)

Categories

Find more on Colormaps in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!