why does the surf command give me this result?
2 次查看(过去 30 天)
显示 更早的评论
Hi! I got this image with
surf(est,nord,down,I_frame,'EdgeColor','none')
where (est,nord) are not regular points.
I know for sure that there are brighter points for example in the region est=(30,40), nord=(-50,-55), but it seems that the darker points preveal over the brigth ones and only them are plotted. Any ideas why this happen? Thank you
2 个评论
Star Strider
2021-10-9
One optiion could be to add a 'FaceAlpha' value —
surf(est,nord,down,I_frame,'EdgeColor','none', 'FaceAlphs',0.5)
That would make all of them semi-transparent, allowing those that are otherwise ‘covered’ to be seen. Change that value (going from 0 to 1) to get the desired result.
.
回答(2 个)
Star Strider
2021-10-9
I have no idea what the data are, or how the data are being plotted.
If the colormap is gray the ‘brighter’ values are higher ‘z’ values. If those are the ones to be separated and plotted, set a suitable threshold and only plot the data above the threshold. The easiest way to do that is to set all the values below the threshold to NaN.
Example —
v = linspace(-5, 5, 25);
[X,Y] = ndgrid(v);
Z = exp(-(X.^2+Y.^2)*0.1);
figure
surf(X, Y, Z)
colormap(turbo)
title('Original')
figure
surf(X, Y, Z, 'EdgeColor','none', 'FaceAlpha',0.5)
colormap(gray)
view(0,90)
title('Original, Gray Scale, Top View')
Znew = Z;
Znew(Znew<0.5) = NaN; % Set Values Below Threshold To 'NaN' So That They Will Not Plot
figure
surf(X, Y, Znew)
colormap(gray)
view(0,90)
title('Bright Areas')
Experiment to get the desired result.
.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Graphics Performance 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!