Ade*_*del 48 python numpy matplotlib scipy
我有一个1维数组,我可以计算这个样本的"均值"和"标准偏差"并绘制"正态分布",但我有一个问题:
我想在下图中绘制数据和正态分布:
我不知道如何绘制"数据"和"正态分布"
关于"scipy.stats中的高斯概率密度函数"的任何想法?
s = np.std(array)
m = np.mean(array)
plt.plot(norm.pdf(array,m,s))
Run Code Online (Sandbox Code Playgroud)
War*_*ser 91
您可以使用matplotlib
绘制直方图和PDF(如@ MrE的答案中的链接).对于拟合和计算PDF,您可以使用scipy.stats.norm
如下.
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
# Generate some data for this demonstration.
data = norm.rvs(10.0, 2.5, size=500)
# Fit a normal distribution to the data:
mu, std = norm.fit(data)
# Plot the histogram.
plt.hist(data, bins=25, density=True, alpha=0.6, color='g')
# Plot the PDF.
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 100)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
title = "Fit results: mu = %.2f, std = %.2f" % (mu, std)
plt.title(title)
plt.show()
Run Code Online (Sandbox Code Playgroud)
这是脚本生成的图:
归档时间: |
|
查看次数: |
81266 次 |
最近记录: |