Normalization of colorbar showing bincounts of binscatter

17 visualizaciones (últimos 30 días)
Sumera Yamin
Sumera Yamin el 9 de Ag. de 2019
Editada: Adam Danz el 12 de Ag. de 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')

Respuesta aceptada

Adam Danz
Adam Danz el 9 de Ag. de 2019
Editada: Adam Danz el 12 de Ag. de 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 comentarios
Adam Danz
Adam Danz el 12 de Ag. de 2019
Editada: Adam Danz el 12 de Ag. de 2019
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'.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Data Distribution Plots en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by