# Plot 2D surf from 3 columns (X, Y, Data)

12 ビュー (過去 30 日間)
Vittorio Bonino 2022 年 7 月 29 日
コメント済み: Star Strider 2022 年 7 月 29 日
Hi,
I have data disposed in the following way:
The first column rapresents the x coordinates, the second column rapresents the y coordinates and the 3rd column contains the data value at the (x, y) coords.
I can't use the function surf since it required that the 3rd column in disposed as a matrix where every index represents the coorinate.
So I'm looking for a way to convert my 3 columns in a matrix with my data, or plot directly the surface using a function that accepts that format.
Thank you!

サインインしてコメントする。

### 回答 (2 件)

Alan Stevens 2022 年 7 月 29 日

plot3 will plot your points as a line (or series of points).
To get a surface, set up regular coordinates over the appropriate range for cp12x and cp12y, then use meshgrid to get a matrix, then interp2 to interpolate to find appropriate values of your magnetic field at those mesh points.
Then use surf.
##### 0 件のコメント表示非表示 -1 件の古いコメント

サインインしてコメントする。

Star Strider 2022 年 7 月 29 日

Try something like this —
x = Tmag{:,1};
y = Tmag{:,2};
z = Tmag{:,3};
L = size(Tmag,1);
xv = linspace(min(x), max(x), L);
yv = linspace(min(y), max(y), L);
[X,Y] = ndgrid(xv, yv);
Z = griddata(x, y, z, X, Y);
figure
surf(X, Y, Z)
grid on
if the grid points are too dense.
.
.
##### 2 件のコメント表示非表示 1 件の古いコメント
Star Strider 2022 年 7 月 29 日
view(0,90)
That should work.
.

サインインしてコメントする。

### カテゴリ

Find more on Colormaps in Help Center and File Exchange

R2022a

### Community Treasure Hunt

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

Start Hunting!

Translated by