Removing values from surf?

12 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)

Community Treasure Hunt

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

Start Hunting!

Translated by