Contour plot on a surface plot

31 visualizzazioni (ultimi 30 giorni)
Tomas Altea
Tomas Altea il 19 Nov 2021
Risposto: KSSV il 22 Nov 2021
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
  2 Commenti
Adam Danz
Adam Danz il 19 Nov 2021
Please attach Comsol_surf.txt
Tomas Altea
Tomas Altea il 22 Nov 2021
I've attached it now, sorry for the wait

Accedi per commentare.

Risposta accettata

KSSV
KSSV il 22 Nov 2021
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:

Più risposte (0)

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by