Adding Contour Lines to a 2D Surf Plot

8 次查看(过去 30 天)
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 个)

Taylor
Taylor 2023-11-30
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.

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by