Histogram occurences per class

6 views (last 30 days)
Nina Perf
Nina Perf on 26 Apr 2022
Edited: Nina Perf on 26 Apr 2022
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

Steven Lord
Steven Lord on 26 Apr 2022
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

Community Treasure Hunt

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

Start Hunting!