Scatte plot to contour plot xyz data.

103 次查看(过去 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 中查找有关 Contour Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by