Contour plot on a surface plot

31 次查看(过去 30 天)
Hi everyone,
I have imported a 2D surface comsol matrix data in a three-column format (x-coordinate, y-coordinate and color data) and I've plotted it using this code:
A = load('Comsol_surf.txt');
x = A(:,1);
y = A(:,2);
z = A(:,3);
tri = delaunay(x,y);
figure
h = trisurf(tri,x,y,z,'EdgeColor','none');
axis vis3d
view(0,90)
colormap turbo
a = colorbar('eastoutside');
Now I would like to insert a contour plot, also imported from a comsol data matrix in the same format, above the surface plot. I have tried several ways but haven't gotten good results. Can someone help me? Thanks in advance

采纳的回答

KSSV
KSSV 2021-11-22
A = load('Comsol_surf.txt');
x = A(:,1);
y = A(:,2);
z = A(:,3);
%
xg = linspace(min(x),max(x),1000) ;
yg = linspace(min(y),max(y),1000) ;
[X,Y] = meshgrid(xg,yg) ;
Z = griddata(x,y,z,X,Y) ;
figure(1)
pcolor(X,Y,Z)
shading interp
figure(2)
contour(X,Y,Z)
figure(3)
contourf(X,Y,Z)
figure(4)
surf(X,Y,Z)
shading interp
If you want to use contour on unstructured grid without converting it into a structured grid, you can use:

更多回答(0 个)

类别

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

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by