Scatte plot to contour plot xyz data.
108 views (last 30 days)
Show older comments
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
0 Comments
Answers (2)
Star Strider
on 15 Mar 2021
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.
0 Comments
Christopher McCausland
on 15 Mar 2021
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 Comments
Christopher McCausland
on 16 Mar 2021
@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.
See Also
Categories
Find more on Contour Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!