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일

1 개 추천

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일

3 개 추천

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

카테고리

제품

릴리스

R2018a

질문:

2022년 2월 6일

답변:

2022년 2월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by