how to draw 2D or 3D graphs with large data
3 views (last 30 days)
Show older comments
Abdulkarim Almukdad
on 10 Oct 2020
Commented: Abdulkarim Almukdad
on 11 Oct 2020
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
Accepted Answer
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
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.
More Answers (0)
See Also
Categories
Find more on Specifying Target for Graphics Output in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!