How to show the bin' percentage values' in a histogram?

10 views (last 30 days)
Mukul Rao, I am really new in MATLAB and I would appreciate if direct me about this rodimentary question. I want to show the bin counts "percentage values" in histogram and my code is below but something is wrong and I can not find it!! Thank you n advance!
clc;
clear all;
close all;
%.................................................
data=xlsread('A');
dens=data(:,1);%gr/cm3
x=dens(1:1:end);
hist(x,24);
binranges = -0.06:0.08;
[bincounts] = histc(x,binranges);
percentagevalues = bincounts./sum(bincounts) * 100;
figure(2)
bar(binranges,bincounts,'histc')
for i = 1:length(bincounts)-1
x = (binranges(i) + binranges(i+1))/2;
y = bincounts(i)+1;
text(x,y,num2str(bincounts(i),'%3.2f'),'HorizontalAlignment','center');
end
  3 Comments
Maria Amr
Maria Amr on 4 Mar 2021
Cris LaPierre It is not working in any version! and I can not fine the issue!

Sign in to comment.

Accepted Answer

Cris LaPierre
Cris LaPierre on 4 Mar 2021
The issue is with how you defined your binranges. When you don't specify a step size, the colon operator uses 1.
binranges = -0.06:0.08
binranges = -0.0600
Since bin edges must contain at least 2 values, the result of histc is bincounts=0. Run your code with your desired stepsize and it will work.
binranges = -0.06:0.01:0.08
binranges = 1×15
-0.0600 -0.0500 -0.0400 -0.0300 -0.0200 -0.0100 0 0.0100 0.0200 0.0300 0.0400 0.0500 0.0600 0.0700 0.0800

More Answers (1)

Maria Amr
Maria Amr on 4 Mar 2021
Cris LaPierre Really appreciated!

Categories

Find more on Data Distribution Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!