"binning" data with 2D coordinates

4 Ansichten (letzte 30 Tage)
Nicole Konforti
Nicole Konforti am 26 Jan. 2017
Beantwortet: Walter Roberson am 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?

Akzeptierte Antwort

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

Weitere Antworten (0)

Kategorien

Mehr zu Data Distribution Plots finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by