Histogram occurences per class

Hi,
I want to have the classes count centered at the top of each bar, as a number. Can you please help?
figure()
h = histogram(Sum.tClasses)
ylabel('Occurrences', 'fontsize', 14)
xticks([1 2 3 4])

 Accepted Answer

Let's make some sample data and plot the histogram using the 'integers' BinMethod. In this case each integer in my data set gets its own bin.
x = randi(5, 1, 100);
h = histogram(x, 'BinMethod', 'integers');
To make working with the properties easier, extract two of them into variables with short names.
c = h.BinCounts;
E = h.BinEdges;
Find the X coordinate of the center of each bar.
centers = (E(1:end-1)+E(2:end))/2;
Write the bin counts data 1 unit above the top of each bar. If your counts were larger than this you might want to increase that offset or use a multiplicative factor (put it 10% above the bar by using 1.1*c instead of c+1, as an example.)
text(centers, c+1, string(c))

More Answers (0)

Products

Release

R2021a

Asked:

on 26 Apr 2022

Edited:

on 26 Apr 2022

Community Treasure Hunt

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

Start Hunting!