How to do surface plot from given set of data?

조회 수: 9 (최근 30일)
Prakash Chettri
Prakash Chettri 2022년 3월 31일
댓글: KSSV 2022년 3월 31일
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
Mahmoud Ashraf
Mahmoud Ashraf 2022년 3월 31일
Z must be a matrix
Mahmoud Ashraf
Mahmoud Ashraf 2022년 3월 31일
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);

댓글을 달려면 로그인하십시오.

채택된 답변

KSSV
KSSV 2022년 3월 31일
편집: KSSV 2022년 3월 31일
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
Prakash Chettri
Prakash Chettri 2022년 3월 31일
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 2022년 3월 31일
Thanks is accepting/ voting the answer.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

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