Create 3D scatter plot from an 120x160 matrix

1 次查看(过去 30 天)
I have an excel file with a 120 x 160 array and I need to make a 3D scatter plot of the data. I could easily do it on Mathcad but can't get 'scatter3' to work.
Any suggestions will be appreciated!
Thanks

回答(2 个)

Chad Greene
Chad Greene 2017-7-7
Perhaps you need to columnate all your variables using (:). Like this:
[x,y,z] = peaks(150);
scatter3(x(:),y(:),z(:),10,z(:))
But if your data are gridded, why not use surf?
surf(x,y,z)
shading flat
  2 个评论
Mir Sharmin
Mir Sharmin 2017-7-7
scatter3 asks for a vector and doesn't take the matrix array as an input so that problem still remains.
And, unfortunately I don't think a surface plot will work for the project I am working on!
Thanks though!
Chad Greene
Chad Greene 2017-7-10
Yes, by columnating all the inputs with (:), it turns them into vectors. Did you try the example I provided with the peaks data?

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2017-7-7
编辑:Walter Roberson 2017-7-7
[Y, X] = ndgrid(1:size(YourArray,1), 1:size(YourArray,2));
scatter3(X(:), Y(:), YourArray(:));
Notice that Y corresponds to rows not columns

类别

Help CenterFile Exchange 中查找有关 Scatter Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by