Adding Contour Lines to a 2D Surf Plot

Hello everyone,
I am working on plotting the stress distribution over a nonprismatic beam in MATLAB. The figure generated by my code is shared below (fig1). However, I am struggling to add contour lines to my plot, similar to what is shown in the second figure (fig2). I haven't been successful in achieving this, and I would appreciate any guidance on how to accomplish it.
Thank you in advance!
figure1
Figure2
My code is as below.
Here A is 1x3201 matrix while B and C are 40x3201 matrix
figure(13)
surf(A,B,C)
view(2)
shading interp
colormap(jet(1000))
xlabel('{\it x} (mm)'), ylabel('{\it y} (mm)')
hold on
grid off
c=colorbar('Location','southoutside')
axis([0 L -hmax/2 hmax/2])
axis off
c.Ticks = [linspace(min(C,[],'all'),max(C,[],'all'),7)];
Deci=arrayfun(@(x) sprintf('%.4f',x),c.Ticks,'un',0);
set(c,'xticklabel',Deci)

回答(1 个)

Replace
surf(A,B,C)
with
s = surf(A,B,C);
From there you can use dot notation to access the properties of the surface object. Specifically, you want to adjust the EdgeColor.

类别

帮助中心File Exchange 中查找有关 Contour Plots 的更多信息

产品

标签

回答:

2023-11-30

Community Treasure Hunt

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

Start Hunting!

Translated by