How can I plot the percentage value in an histc plot?
3 views (last 30 days)
Show older comments
Hi, I have an histogram. In x-axis I have the name of each bar and in y-axis the data quantity. I would like to plot up to each bar of the histogram the respectively percentage. How can I do that?
0 Comments
Answers (1)
Mukul Rao
on 26 Jun 2015
Hi , I assume by "up to" you mean on top of the histogram. I recommend using text objects and adding them as shown in the code below:
%Generate data, use example from histc documentation
rng(0,'twister')
x = randn(100,1);
binranges = -4:4;
[bincounts] = histc(x,binranges);
%Compute percent contributions
percentagevalues = bincounts./sum(bincounts) * 100;
%Create a histogram
figure
bar(binranges,bincounts,'histc')
for i = 1:length(bincounts)-1
%Determine x location of label
x = (binranges(i) + binranges(i+1))/2;
%Determine y location of label, offset it by some distance from the
%top of the bar
y = bincounts(i)+1;
%Create a text object
text(x,y,num2str(bincounts(i),'%3.2f'),'HorizontalAlignment','center');
end
Note if this example doesn't address your question, please provide additional information so that some other person from the community can provide an alternate solution.
0 Comments
See Also
Categories
Find more on Histograms 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!