问题描述
我尝试绘制具有给定均值和标准差的分布函数。但是,绘制分布函数只显示直方图而不显示分布函数,不知道为什么没有绘制:
mean = 15.14
stdev = 0.3738
phi = (stdev ** 2 + mean ** 2) ** 0.5
mu = np.log(mean ** 2 / phi)
sigma = (np.log(phi ** 2 / mean ** 2)) ** 0.5
data=np.random.lognormal(mu,sigma,1000)
mu,n= lognorm.fit(data)
plt.hist(data,bins=30,density=True,alpha=0.5,color='b')
# Plot the PDF.
xmin,xmax = plt.xlim()
x = np.linspace(xmin,xmax,1000)
p = lognorm.pdf(x,mu,sigma)
plt.plot(x,p,'k',linewidth=2)
title = "Lognormal distribution: Media: {:.2f} y Dev.Est: {:.2f}".format(mean,stdev)
plt.title(title)
plt.show()
我得到的结果: