"binning" data with 2D coordinates
4 views (last 30 days)
Show older comments
Nicole Konforti
on 26 Jan 2017
Answered: Walter Roberson
on 26 Jan 2017
I have a set of data points that are stored in a 3x1000 matrix. Each data point has (x, y, z) coordinates. How can I collapse this data into 2D coordinates, and then "bin" the data into a 3D graph?
0 Comments
Accepted Answer
Walter Roberson
on 26 Jan 2017
[ux, ~, xidx] = unique(data(1,:));
[uy, ~, yidx] = unique(data(2,:));
%count the number of points at each unique x/y combination
counts = accumarray([xidx(:), yidx(:)], 1);
%average the z that fall into each unique x/y combination
avgs = accumarray([xidx(:), yidx(:)], data(3,:).');
%create a list of the z that fall into each unique x/y combination
zs = accumarray([xidx(:), yidx(:)], data(3,:).', [], @(V) {V}, {});
But perhaps what you want is instead a 2D histogram:
or if you have an older version:
0 Comments
More Answers (0)
See Also
Categories
Find more on Data Distribution 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!