How to normalize a histogram?
567 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
GoBlue19
am 2 Feb. 2016
Bearbeitet: sadegh sehhat
am 4 Jan. 2022
I am having an incredible amount of difficulty in finding a direct answer to this question. I have an array S that is 300x1. Using histogram(S) I obtain the following histogram:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/153877/image.jpeg)
This histogram is exactly what I need except for one problem. I want this to be a relative frequency histogram. As in, I want the y-axis values to be a percentage of the total number of data points (300). For example, the bin between 0.5 and 0.6 is approximately 73, so I would want it to read as (73/300) or 0.243.
I have seen many answers to this type of question telling users to use the hist function and then create a bar graph. I do not want a bar graph. I want the x-axis to remain unchanged as the actual data values, NOT as bin numbers. Can anyone help? Thanks!
0 Kommentare
Akzeptierte Antwort
Sean de Wolski
am 2 Feb. 2016
Look at the 'Normalization' property.
3 Kommentare
Sajid Afaque
am 12 Jun. 2020
@Sean de Wolski i am having the same issue but since i am using 2013b version the above syntax is not valid. do you have any idea of doing same using hist.
Weitere Antworten (2)
mayank awasthi
am 7 Aug. 2018
if we want to find the area under this histogram then how can we do that?
1 Kommentar
Moritz Flor
am 21 Sep. 2018
Extract the bin values from the histogram, add them and multiply them by the bin width:
%%create histogram
x = randn(1000,1);
nbins = 25;
h = histogram(x,nbins)
%%extract parameters
counts = h.Values;
sum_counts = sum(counts);
width = h.BinWidth;
%%area of the histogram
area = sum_counts*width;
george veropoulos
am 24 Sep. 2020
hi
i want to normalized the histogram
i use the hist
[f x]=hist(fn,nbins);
dx = diff(x(1:2));
bar(x,f./(sum(f.*dx)));
how i can use the histogram
thank you
1 Kommentar
sadegh sehhat
am 4 Jan. 2022
Bearbeitet: sadegh sehhat
am 4 Jan. 2022
insted of that you can use this code
if fn is your data set:
histogram(fn,nbins,'Normalization','pdf')
Siehe auch
Kategorien
Mehr zu Histograms finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!