how to draw 2D or 3D graphs with large data

1 view (last 30 days)
I have a data that contains X and Y coordinates (almost 25000 each), I also have Z values from an experiments. I would like to draw a 3D graph or 2D that can plot X and Y coordinates while Z coresponds to the height/density or just color at each X and Y values. I have tried to reduce my data to 400 and used the below
z=repmat(Z,1,400);
Figure
Surf(X,Y,z)
shading interp
colorbar
view ([0 90])
axis('equal')
However, the figure wasn't understandable and it was showing a square unlike the real data even when I use only the 400 it suppose to be like a (+) not square.
I have also tried the meshgrid for X and Y and repmat for Z but the result was almost the same.
I'm looking for something simillar to the attached figure.
Is there anyway that I can do that knowing that all my data are known (no equations or assumptions needed)
  2 Comments
VBBV
VBBV on 11 Oct 2020
Edited: VBBV on 11 Oct 2020
%if true
% code
% end
h = figure
...
surf...
ax = axes('Parent',h)
view(ax,[0 90])
%axis('equal')!
Abdulkarim Almukdad
Abdulkarim Almukdad on 11 Oct 2020
Thank you for your answer, I'm a beginner, can you please give me more details or what to do exactly?
consider my variables names X,Y, Z and table name T.
Thanks again

Sign in to comment.

Accepted Answer

KSSV
KSSV on 11 Oct 2020
Let (x,y,z) be your column data.
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
figure
trisurf(tri,x,y,z)
shading interp
  10 Comments
KSSV
KSSV on 11 Oct 2020
Thre might be few outliers....most of the values are within 400, only 10 values are greater than 400. Remove these outliers and see.
Also try refining the grid..I have used 500, you make it a fine grid.
Abdulkarim Almukdad
Abdulkarim Almukdad on 11 Oct 2020
Thank you very much, that was very helpful

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!