Contour in a 3D surface plot

22 次查看(过去 30 天)
I am trying to creat a 3D surface plot with the contour of the surface projected on the top face (XY plane in Z = max)
Following is the code used:
f = figure('PaperSize',[8 8]);
Z = table2array(Table);
Z = Z(:,2:N+1);
Y = Table.Wavenumber_cm_1_;
X = [1:N];
SurfacePlot = surf(X,Y,Z);
ylabel('Wavenumber[cm^-1]');
xlabel('Aliquot Number');
zlabel('Absorbance[a.u.]');
colormap jet
shading interp
grid off;
hold on
contourf(X,Y,Z);
hold off
The problem is that the contour is created on XY plate (under the surface plot). How can move the contour up to the top surface?
Thank you.

采纳的回答

Ameer Hamza
Ameer Hamza 2020-5-31
编辑:Ameer Hamza 2020-5-31
contour() object have an undocumented property named ContourZLevel: https://stackoverflow.com/a/8055468/4346708. For example,
[X,Y] = meshgrid(1:0.1:10,1:0.1:20);
Z = sin(X) + cos(Y);
ax = axes();
hold on
view(3);
s1 = surf(X,Y,Z);
[~, s2] = contourf(X,Y,Z);
s2.ContourZLevel = 5;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Contour Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by