How can I draw separating lines between colors in a 3D volume plot?
1 次查看(过去 30 天)
显示 更早的评论
I am visualizing a 3D scalar function using the patch command and a given colormap (hsv) associated with the scalar values of the function. Unfortunately, Matlab dow not separate colors with lines, a feature which can be very useful to distinguish close values with similar colors. How can I draw lines between colors in my 3D patch plot? Many thanks for your help,
Luca
6 个评论
回答(1 个)
KSSV
2019-6-13
Remove the shading interp line after plotting.
LV_S3_LAT; %load the data
V = Vertices(:,2:4);
T = Triangles(:,2:4)+1;
sV = size(V,1);
sT = size(T,1);
LAT = Values(:,4);
LAT_LV = LAT - min(LAT);
hh=patch('Faces',T,'Vertices',V,'FaceVertexCData',LAT_LV,'FaceColor','interp','EdgeColor','interp','EdgeColor','k');
colormap(hsv);
colorbar;
grid on
view(115,-16);
set(gca,'Color','k');
% shading interp
lightangle(-15,0)
hh.FaceLighting = 'gouraud';
hh.AmbientStrength = 0.3;
hh.DiffuseStrength = 0.8;
hh.SpecularStrength = 0.9;
hh.SpecularExponent = 25;
hh.BackFaceLighting = 'unlit';
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!