Normalization of colorbar showing bincounts of binscatter

16 ビュー (過去 30 日間)
Sumera Yamin
Sumera Yamin 2019 年 8 月 9 日
編集済み: Adam Danz 2019 年 8 月 12 日
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')

採用された回答

Adam Danz
Adam Danz 2019 年 8 月 9 日
編集済み: Adam Danz 2019 年 8 月 12 日
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 件のコメント
Adam Danz
Adam Danz 2019 年 8 月 12 日
編集済み: Adam Danz 2019 年 8 月 12 日
Great! In the image you shared, empty bins appear as white. In my version, they appear as dark blue (which is 0 on the colorbar). If you'd rather them appear as white set 'ShowEmptyBins', to 'off'.
Sumera Yamin
Sumera Yamin 2019 年 8 月 12 日
Thanks again

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Distribution Plots についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by