Grouping 2d data with different bins for each dimension.

2 views (last 30 days)
Dear guys I'm trying to group my 2d data but with poor results.
My input are x and y. At first I divide them into bins with different dimensions as it follows:
a=(min(x):0.2:max(x))'; %17x1
b=(min(y):0.2:max(y))'; %34x1
At this point through I asses the distributions in each bin:
N=histcounts2(x,y,a,b);
Finally, I subplot my data in order to have at the left side the scatter of points while at the other an heatmap:
subplot(1, 2, 1);
scatter(x, y, 'r.');
subplot(1, 2, 2);
imagesc(a, b, N);
Unfortunately this is my result
The right side is correct but somehow in the wrong side. How can I correct this?

Accepted Answer

Cris LaPierre
Cris LaPierre on 26 Oct 2021
An image axis has the origin and the top left while a cartesian axis has the origin at the bottom left.
Counsider using histogram2 with the 'DisplayStyle' set to 'tile' instead of histcounts2 and imagesc. See this example.
  2 Comments
Cris LaPierre
Cris LaPierre on 26 Oct 2021
I'm not sure if that specific option exists, but look into the Normalization options. This is one of the name-value pair arguments for histogram2. Options are
  • 'count' (default)
  • 'probability'
  • 'countdensity'
  • 'pdf'
  • 'cumcount'
  • 'cdf'

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!

Translated by