X Y scatter data Color Contour of Frequency Distribution spatially

I have X Y scatter data ranging from -125km to +125km in both X and Y.
In 5 by 5 km box I want to find number of points, divide it by total number of points in the entire grid(250km*250km box) and get some number Z and assign relevant color to that box pertaining to the achieved value Z.
Is there any way doing it?

 Risposta accettata

3 Commenti

I understand this link. I am sorry for being naive. Please help Sir.
However I am at a loss to understand how to get the color and the axes must remain similar to units of X and Y and not frequency. frequency must be in color.
Caution: the below will fail if you have any data at X = +125 or greater or Y = +125 or greater. If you have data right at both boundaries then you need extra bins. If your data can be +125 exactly but cannot be -125 exactly then in the below change the 1 + floor() to be 0 + ceil()
binmin = -125; binmax = 125; binwidth = 5;
xbin = 1 + floor((X(:) - binmin) / binwidth);
ybin = 1 + floor((Y(:) - binmin) / binwidth);
nbins = ceil((binmax - binmin) / binwidth);
counts = accumarray([xbin, ybin], 1, [nbins, nbins]);
Z = counts ./ numel(counts);
coords = [binmin, binmin + (nbins-1)*binwidth];
image(coords, coords, Z);
colormap(hot)
Thanks a lot Sir, for the reply. It worked for me. Also I found the use of "accumarray' in this link

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by