Create 3D scatter plot from an 120x160 matrix
1 view (last 30 days)
Show older comments
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
0 Comments
Answers (2)
Chad Greene
on 7 Jul 2017
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 Comments
Chad Greene
on 10 Jul 2017
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
on 7 Jul 2017
Edited: Walter Roberson
on 7 Jul 2017
[Y, X] = ndgrid(1:size(YourArray,1), 1:size(YourArray,2));
scatter3(X(:), Y(:), YourArray(:));
Notice that Y corresponds to rows not columns
0 Comments
See Also
Categories
Find more on Scatter Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!