How to normalize a histogram?

756 ビュー (過去 30 日間)
GoBlue19
GoBlue19 2016 年 2 月 2 日
編集済み: sadegh sehhat 2022 年 1 月 4 日
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:
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!

採用された回答

Sean de Wolski
Sean de Wolski 2016 年 2 月 2 日
  3 件のコメント
Sajid Afaque
Sajid Afaque 2020 年 6 月 12 日
@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.
Owen Tolfrey
Owen Tolfrey 2020 年 12 月 18 日
[N,edges] = histcounts(y,'Normalization','probability');

サインインしてコメントする。

その他の回答 (2 件)

mayank awasthi
mayank awasthi 2018 年 8 月 7 日
if we want to find the area under this histogram then how can we do that?
  1 件のコメント
Moritz Flor
Moritz Flor 2018 年 9 月 21 日
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
george veropoulos 2020 年 9 月 24 日
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 件のコメント
sadegh sehhat
sadegh sehhat 2022 年 1 月 4 日
編集済み: sadegh sehhat 2022 年 1 月 4 日
insted of that you can use this code
if fn is your data set:
histogram(fn,nbins,'Normalization','pdf')

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeHistograms についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by