plot 3D point data
1 回表示 (過去 30 日間)
古いコメントを表示
採用された回答
Rik
2018 年 11 月 23 日
編集済み: Rik
2018 年 11 月 23 日
You should be able to use the surf function. The only problem you have is interpolating the data to a normal grid that surf understands (and fill the rest with NaN).
The code below assumes your text file is stored in a 2112 by 3 array named data
x=data(:,1);
y=data(:,2);
z=data(:,3);
SamplePerDim=500;
X=linspace(min(x),max(x),SamplePerDim);
Y=linspace(min(y),max(y),SamplePerDim);
[X,Y]=ndgrid(X,Y);
F=scatteredInterpolant(x,y,z,'linear','none');
Z=F(X,Y);
figure(1),clf(1)
surf(X,Y,Z,'EdgeColor','none')
view(-160,80)
4 件のコメント
Rik
2018 年 11 月 24 日
As always, you're welcome.
I don't really know how to pick the resolution automatically. That will depend on the smoothness of your data and how much data you have. Ideally you would 2000, but that makes the plot very slow. You could use a fancy formula to estimate the best value, but because that is tricky I chose to hard code the value.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Surface and Mesh Plots についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!