我想在使用seaborn
构建的直方图上添加标准的标准pdf曲线。
import numpy as np
import seaborn as sns
x = np.random.standard_normal(1000)
sns.distplot(x, kde = False)
任何帮助将不胜感激!
答案 0 :(得分:2)
scipy.stats.norm
可通过
轻松访问正态分布的pdf
已知参数;默认情况下,它对应于标准正态,mu = 0,sigma = 1。
为了使其与采样数据正确对应,直方图应
显示密度而不是计数,因此请在seaborn.distplot
调用中使用norm_hist=True
。
import numpy as np
import seaborn as sns
from scipy import stats
import matplotlib.pyplot as plt
x = np.random.standard_normal(1000)
ax = sns.distplot(x, kde = False, norm_hist=True)
# calculate the pdf over a range of values
xx = np.arange(-4, +4, 0.001)
yy = stats.norm.pdf(xx)
# and plot on the same axes that seaborn put the histogram
ax.plot(xx, yy, 'r', lw=2)