Surf plot of my data
2 views (last 30 days)
Show older comments
Hello;
I have data in the following format : [X1 X2 F] where X1, X2 and F are all column vectors. F is a function evaluated on X1 and X2. I do not know what function it is, I only have the end result.
I successfully plotted my data using
% trainset contains the data as presented above
scatter3(trainset(:,1),trainset(:,2),trainset(:,3),30,trainset(:,3));
% I use the value of F for the coloring of the datapoints
However I would prefer a real surface plot, using surf(). But the format of my data is not suited to surf, apparently.
I thought about using meshgrid to make the grid matrices for X1 and X2, but since I don't know the function F, I won't be able to evaluate it on those grids ; I'm stuck with the dataset I'm provided with, in which F is already evaluated for some pairs of X1 and X2.
I might be missing something obvious but I really don't see how to get a surface plot with that kind of "blackbox" data.
Thanks in advance for your insights!
0 Comments
Answers (2)
Walter Roberson
on 2 Apr 2013
Use griddata(). Or use triscatteredinterp to create an interpolator and interpolate it over a mesh created with ndgrid()
0 Comments
Omid Adljuy
on 5 Apr 2013
Probably the TriScatteredInterp command will help you do what you're looking for.
See MATLAB Help for mor details and examples.
This tutorial video shall also help.
0 Comments
See Also
Categories
Find more on Surface and Mesh 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!