contour lines on the surface plot

조회 수: 46 (최근 30일)
Masa
Masa 2022년 2월 6일
답변: Masa 2022년 2월 7일
How to plot a surface with its contour lines drawn on it?
this image is an example of what I mean:

채택된 답변

Star Strider
Star Strider 2022년 2월 6일
Try something like this —
[X,Y,Z] = peaks(50); % Example Surface
figure
surf(X,Y,Z, 'EdgeColor','none') % Surface Plot
hold on
contour3(X,Y,Z,10, '-k', 'LineWidth',1.5) % Add Contours
hold off
grid on
colormap('jet')
shading('interp')
view(30,45)
See the documentation on surf and contour3 for details.
Make appropriate changes to get the desired result.
.

추가 답변 (1개)

Masa
Masa 2022년 2월 7일
for those who need the same plot but with discrete colors (corresponding to the levels of the contour plot):
% surface data to plot
[X,Y,Z] = peaks(50);
% plot surface
surf(X,Y,Z);
shading('interp');
hold on;
% plot contours
contourLevelsNum = 9;
contour3(X,Y,Z,contourLevelsNum,'k');
hold off;
colormap(jet(contourLevelsNum+1));
cb = colorbar;
% correct position of ticks in the color bar
[zDataMin, zDataMax] = bounds(Z(:));
caxis([zDataMin,zDataMax]);
set(cb,'Ticks',linspace(zDataMin,zDataMax,contourLevelsNum+2));
view(30,45);

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by