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

3 次查看(过去 30 天)
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 个评论
VBBV
VBBV 2020-10-11
编辑:VBBV 2020-10-11
%if true
% code
% end
h = figure
...
surf...
ax = axes('Parent',h)
view(ax,[0 90])
%axis('equal')!
Abdulkarim Almukdad
Abdulkarim Almukdad 2020-10-11
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

请先登录,再进行评论。

采纳的回答

KSSV
KSSV 2020-10-11
Let (x,y,z) be your column data.
dt = delaunayTriangulation(x,y) ;
tri = dt.ConnectivityList ;
figure
trisurf(tri,x,y,z)
shading interp
  10 个评论
KSSV
KSSV 2020-10-11
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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Specifying Target for Graphics Output 的更多信息

标签

产品

Community Treasure Hunt

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

Start Hunting!

Translated by