MATLAB Answers

why Normal Distribution with Histogram not matching?

2 views (last 30 days)
Manuel Matus
Manuel Matus on 15 Jul 2021
Edited: Ive J on 15 Jul 2021
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

Accepted Answer

Steven Lord
Steven Lord on 15 Jul 2021
Use:
histogram(Cp(:,Distribution_tap),30, 'Normalization', 'pdf')

More Answers (1)

Ive J
Ive J on 15 Jul 2021
Edited: Ive J on 15 Jul 2021
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')

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!