# how can I put the histfit function in terms of probability?

37 views (last 30 days)
Hi, I am using the histfit function, but I need the y-axis to stay in terms of probability (0-1). how can I do this?

Star Strider on 16 Sep 2020
That is not directly possible with histfit, however it is not impossible:
data = randn(1,100)+1; % Create Vector
figure
histfit(data) % Original
hh = histfit(data);
figure
ybar = hh(1).YData;
bar(hh(1).XData, ybar/sum(ybar), 'BarWidth',1) % Probability
hold on
plot(hh(2).XData, hh(2).YData/sum(ybar), 'r', 'LineWidth',2)
hold off
.
##### 2 CommentsShowHide 1 older comment
Star Strider on 16 Sep 2020
My pleasure!
.

the cyclist on 16 Sep 2020
Here's one way:
data = randn(500,1);
% Fit to a normal (or a different distribution if you choose)
pd = fitdist(data,'normal');
% Find the pdf that spans the disribution
x_pdf = linspace(min(data),max(data));
y_pdf = pdf(pd,x_pdf);
% Plot
figure
hold
histogram(data,'Normalization','pdf')
line(x_pdf,y_pdf,'LineWidth',2)
Andrés Ardila Ardila on 16 Sep 2020
OK thank you very much