MATLAB Answers

Normalization of colorbar showing bincounts of binscatter

48 views (last 30 days)
Sumera Yamin
Sumera Yamin on 9 Aug 2019
Edited: Adam Danz on 12 Aug 2019
I am using bin scatter to plot my 2D data. I want to normalize my bin counts from 0-1 in the color bar instaed of absolute number. I guess its a basic proble, but i am stuck. Any help will be highly appreciated. the example code is shown below. Thank you very much.
x=rand(1,10000);
y=rand(1,10000);
binscatter(x,y,[100,100])
colormap(gca,'jet')

Accepted Answer

Adam Danz
Adam Danz on 9 Aug 2019
Edited: Adam Danz on 12 Aug 2019
I would use histcounts2() to determine the density within each bin. Then you can normalize those data and send it into histogram2(). See comments within the code below for details.
x=rand(1,10000);
y=rand(1,10000);
% compute bin counts
[binCounts, xbin, ybin] = histcounts2(x,y,[100,100]);
% Normalize bin counts to 0:1
binCountsNorm = (binCounts - min(binCounts(:))) ./ range(binCounts(:));
% Plot the results *
histogram2('XBinEdges',xbin,'YBinEdges',ybin,'BinCounts',binCountsNorm, ...
'DisplayStyle','tile','ShowEmptyBins','on') % or you may what "off"
% Add color bar and make sure the color ranges from 0:1
colorbar()
caxis([0,1])
*The histogram2() options require r2016b or later:
  3 Comments

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!