How to plot in 3D a given set of data

18 views (last 30 days)
Hello, so I have made a matrix with 3 columns. The first two are the x and y location of a point on a plate and the third is the wind speed at it. The matrix name is 'SPEED' and i want to plot it in 3D, as well as create a heatmap. Any ideas?
The ranges are the following. (Note: i can decrease the step as much as i like and make the curve as smooth as possible. I can gain the value of speed at any point using a given function. Just chose these steps so i do not tire my laptop)
x=[0:700:10800];
y=[0:770:11000];
Thank you

Accepted Answer

Star Strider
Star Strider on 1 May 2021
I would do something like this —
x=[0:700:10800];
y=[0:770:11000];
[Xm,Ym] = ndgrid(x, y);
Zm = griddata(x, y, z, Xm, Ym);
figure
surf(Xm, Ym, Zm)
grid on
The heatmap only requires x-data and y-data. I am not certain how to use it with z-data as well. Consider using the countourf function instead.
  6 Comments
Star Strider
Star Strider on 3 May 2021
‘I mean, i have the values of z for a specific point (x,y) but i cannot define any function for z, i just have the ready calculated values for z. How can i plot that?
My code describes exactly that situation, and creates the matrices and the plot for them. It should do what you want. If there are specific problems with my code and your data, please share the data.
Eventually I figured it all out. You have to define a matrix Z of [length(y),lentgth(x)] size with the resulting values
I believe my code does exactly that.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Distribution 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!