why Normal Distribution with Histogram not matching?

조회 수: 10 (최근 30일)
Manuel Matus
Manuel Matus 2021년 7월 15일
편집: Ive J 2021년 7월 15일
Hi, I have a vector of 30189 rows and 300+ columns. All of them with normal distribution. When I try to plot the Normal distribution and histogram of one column, the curve crest is ~2 (max y axis) but when I put the histogram, they reach like 4000 in the y axis making the distribution curve to be way too small to be seen. Why? Below I left figures.
for Distribution_tap=1:pt
pd=fitdist(Cp(:,Distribution_tap),'Normal');
x_values=min(Cp(:,Distribution_tap)):0.01:max(Cp(:,Distribution_tap));
y_value=pdf(pd,x_values);
hold on
plot(x_values,y_value,'LineWidth',2);
histogram(Cp(:,Distribution_tap),30)
end
First figure shows the distribution only
This is when I add the histogram
Third figure shows the data is normally distributed

채택된 답변

Steven Lord
Steven Lord 2021년 7월 15일
Use:
histogram(Cp(:,Distribution_tap),30, 'Normalization', 'pdf')

추가 답변 (1개)

Ive J
Ive J 2021년 7월 15일
편집: Ive J 2021년 7월 15일
This is because histogram shows frequency of your sample, while PDF plots the density. Of course you can change the way histogram behaves:
x = randn(1000, 1);
pd = fitdist(x, 'Normal');
x_values = min(x):0.01:max(x);
y_values = pdf(pd, x_values);
hold on
plot(x_values, y_values, 'LineWidth', 2)
histogram(x, 'Normalization', 'pdf')

카테고리

Help CenterFile Exchange에서 Histograms에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by