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

62 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)

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!