build a Surface plot
2 次查看(过去 30 天)
显示 更早的评论
I have a table with 100 rows and 8 columns. I am trying to plot for any 3 variables from these data. How can i do it?
1 个评论
回答(1 个)
Bjorn Gustavsson
2017-10-16
Have a look at the trisurf function, and if that's not good enough there used to be a couple of similar functions for making surface plots of triangulated meshes.
HTH
4 个评论
Bjorn Gustavsson
2017-10-18
Yes that is because the surface plots expect the input Z to be a matrix. For data in your format where you wand to connect your points in the vectors X Y and Z to a surface you might have to do a Delaunay-triangulation to generate a number of triangles connecting your points, after that you should be able to use the trisurf function. If your points are in a 10-by-10 grid you could simply reshape the vectors and use surf:
X = reshape(X,[10,10]);
Y = reshape(Y,[10,10]);
Z = reshape(Z,[10,10]);
surf(X,Y,Z)
If that doesn't work use trisurf according to its help.
First just plot the points to see which of the above solutions works for your case:
plot3(X,Y,Z,'*-')
HTH
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Surface and Mesh Plots 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!