簡體   English   中英

如何在 y 軸上顯示頻率值?

[英]How to show frequency values in y-axis?

我想顯示頻率分布的直方圖

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])

在此處輸入圖片說明

如果你只想要頻率:

np.unique(data, return_counts=True)

如果你想做一個直方圖,y 軸的頻率只需使用density=False (這是默認值)

但可能因為您想與高斯分布進行比較,所以您想使用density=True

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM