我想显示频率分布的直方图
import numpy as np
from scipy.stats import norm
import matplotlib.pyplot as plt
data = [10,20,20,30,30,30,40,40,50,50]
mu, std = norm.fit(data)
plt.hist(data, bins='auto', density=True, alpha=1, color='navy')
plt.grid()
xmin, xmax = plt.xlim()
x = np.linspace(xmin, xmax, 10)
p = norm.pdf(x, mu, std)
plt.plot(x, p, 'k', linewidth=2)
plt.show()
我在 y 轴上得到未知数字。
我想获取值的频率。 例如:10的频率为1,20的频率为2。printscreen
最佳答案
您正在绘制 PDF,因此不会显示频率,而是显示每个数据值的概率。
我想您可能正在寻找类似的东西!
import numpy as np
import matplotlib.pyplot as plt
data = [10,20,20,30,30,30,40,40,50,50]
plt.hist(data, bins='auto', alpha=1)
plt.grid()
plt.plot(np.unique(data, return_counts=True)[0],np.unique(data, return_counts=True)[1])
关于python - 如何在y轴上显示频率值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55480625/