How to do surface plot from given set of data?

10 Ansichten (letzte 30 Tage)
Prakash Chettri
Prakash Chettri am 31 Mär. 2022
Kommentiert: KSSV am 31 Mär. 2022
I have X and Y and Z coordinates. Now i want ro do surface plot of these data, I used surf() command but its showing error. can anyone give idea how can i plot the data. I have add data for the reference.
  2 Kommentare
Mahmoud Ashraf
Mahmoud Ashraf am 31 Mär. 2022
Z must be a matrix
Mahmoud Ashraf
Mahmoud Ashraf am 31 Mär. 2022
if the values x,y,and z is a coordinates of point i think we shoud use 3d plot instead of surface or used this line
load Data.txt % after we remove the chararcter from the txt file
surf(data);

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

KSSV
KSSV am 31 Mär. 2022
Bearbeitet: KSSV am 31 Mär. 2022
T = readtable('data.txt') ;
x = T.(1) ;
y = T.(2) ;
z = T.(3) ;
% Plot as unstructured grid
dt = delaunayTriangulation(x,y) ;
p = dt.Points ;
tri = dt.ConnectivityList ;
F = scatteredInterpolant(x,y,z) ;
z = F(p(:,1),p(:,2)) ;
figure(1)
trisurf(tri,p(:,1),p(:,2),z)
view(2)
shading interp
% Plot as structured grid
xi = linspace(min(x),max(x),300) ;
yi = linspace(min(y),max(y),300) ;
[X,Y] = meshgrid(xi,yi) ;
Z = griddata(x,y,z,X,Y) ;
figure(2)
pcolor(X,Y,Z) ;
shading interp
  4 Kommentare
Prakash Chettri
Prakash Chettri am 31 Mär. 2022
I just copied the above code and just do change in load data. other i kept as it is but showing error but the second code works fine.
Thank you for the help.
KSSV
KSSV am 31 Mär. 2022
Thanks is accepting/ voting the answer.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by