"binning" data with 2D coordinates

1 vue (au cours des 30 derniers jours)
Nicole Konforti
Nicole Konforti le 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?

Réponse acceptée

Walter Roberson
Walter Roberson le 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:

Plus de réponses (0)

Catégories

En savoir plus sur Spline Postprocessing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by