How do I label the bars in my histogram with the function "histogram" ?

5 views (last 30 days)
In a similar thread a user asked: How do I label the bars in my histogram?
However, that person mentioned the function hist, instead of the function histogram, and the solution proposed by @MathWorks Support Team was therefore based on the function hist:
% Create random data for the sake of the example
data = 10*rand(1,100);
% Draw the histogram
hist(data);
% Get information about the same
% histogram by returning arguments
[n,x] = hist(data);
% Create strings for each bar count
barstrings = num2str(n');
% Create text objects at each location
text(x,n,barstrings,'horizontalalignment','center','verticalalignment','bottom')
Now, how do I label my bars but using the function histogram instead of hist ?
Indeed, the function histogram has not "counts" and "centers" as the function hist:
[counts,centers] = hist(___)

Accepted Answer

Voss
Voss on 1 Jul 2022
Edited: Voss on 1 Jul 2022
% Create random data for the sake of the example
data = 10*rand(1,100);
% Draw the histogram and return histogram object
h = histogram(data);
% Get information about the histogram
edges = get(h,'BinEdges');
n = get(h,'Values');
% Create strings for each bar count
barstrings = num2str(n');
% Create text objects at each location
x = (edges(1:end-1)+edges(2:end))/2;
text(x,n,barstrings,'horizontalalignment','center','verticalalignment','bottom')
  3 Comments

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!