MATLAB Answers

Plotting 3D for three independent variables without any function

58 views (last 30 days)
Yaser Khojah
Yaser Khojah on 21 Mar 2019
Commented: M Naeem on 24 Jul 2021
I have four vectors as attached in Data_1.tx. file. I'm looking for a way to plot their surface map. Where X = (:,column3), Y = (:,column 2) and Z = (:,Column 1). I have looked into meshgrid but did not work since I do not have a function to estimate Z from given X and Y Values. They are only data. I have found and tried this below code but did not like the graph.
trisurf(delaunay(X,Y),X,Y,Z)
I have tried Scatter 3 as below and I do not like it. Is there anyway to present them as the below colourful box? Thank you for your help. scatter.png
  5 Comments

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 21 Mar 2019
Edited: Walter Roberson on 21 Mar 2019
For a typical surface map, you would use
interpolated_z = griddata(X, Y, Z, query_x, query_y);
surf(query_x, query_y, interpolated_z, 'edgecolor', 'none')
However, the example diagram you give is an example of using https://www.mathworks.com/help/matlab/ref/slice.html on a 3D grid of data. You do not have the information necessary for that -- not unless the unused 4th column of your input is value information.
When I look at your data, it looks to me to be more likely that your first column is value information and that your remaining three columns are X, Y, Z coordinates, rather than your first column being Z coordinates.
  6 Comments
Walter Roberson
Walter Roberson on 21 Mar 2019
Yes, V is represented as color.
You can also create a diagonal set of query points, and hold on and slice() with it. When I looked at the data I could not see any particular angle that it would make sense to slice at.

Sign in to comment.

More Answers (1)

M Naeem
M Naeem on 23 Jul 2021
can you please help in plotting graph of f(x,y,z)=2x+5xy+11xyz+2z
  2 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by