How can I plot the percentage value in an histc plot?

5 次查看(过去 30 天)
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?

回答(1 个)

Mukul Rao
Mukul Rao 2015-6-26
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.

类别

Help CenterFile Exchange 中查找有关 Data Distribution Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by