Scatte plot to contour plot xyz data.

35 次查看(过去 30 天)
Hi I have a matrix called Total that is 3x100, the first column is the x value, the second column is the y value and the last column is the z value. When I input this matrix into a scatter plot I get a scatterplot with 3 paralell lines which is correct as I am mapping metal beams underneath concreate and the z value is the electrmagnetic value of the bar, how can I turn this graph into a contourf plot or a color plot.
Thanks

回答(2 个)

Star Strider
Star Strider 2021-3-15
Several MATLAB plot types require the ‘Z’ argument to be a matrix.
One way of creating it is to interpolate it, and one way of doing that is this example where ‘x’, ‘y’ and ‘z’ are the original vectors:
N = 50; % Number Of Points Desired
xv = linspace(min(x), max(x), N);
yv = linspace(min(y), max(y), N);
[X,Y] = ndgrid(xv, yv);
Z = griddata(x, y, z, X, Y);
figure
contourf(X, Y, Z)
axis('equal')
Experiment with it with your data.

Christopher McCausland
Hi,
Have you tried Contour3 for three dimentional contour plots? You should be able to plot a secondary graph from this.
contour3(X,Y,Z);
Kind regards,
Christopher
  2 个评论
Quinn Coughlin
Quinn Coughlin 2021-3-15
Hi Christopher
Thanks for getting back to me, I am trying to get a 2d graph of the data. Also I get a error saying that Z needs to be a 2x2 matrix, how can I fix this?
Thanks Quinn
Christopher McCausland
@Quinn Coughlin My appologies, I misunderstood what you were asking for. @Star Strider has a very good description below! Another way to interpolate is with cubic splines which would be a little smoother however I would say its probably overkill for this.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by