如何绘制正态分布状直方图?

时间:2019-05-17 07:07:53

标签: python numpy scipy probability

我有[A,A,A,B,B,B,B,B,B,C,C,C,C,D,D,D,...]之类的数据

然后将其转换为数值列表,例如[1,1,1,2,2,2,2,2,2,3,3,3,3,3,4,4,4,...]

每个元素都有其频率,例如A出现3次

我尝试绘制直方图,我得到这样的结果
enter image description here

第三个元素(可能是C作为字符)显示最频繁。

我想在中间放置“第三元素垂直条”
在该中心旁边,我想放置第二和第三个常用元素以绘制正态分布状的排列。

总而言之,我想看看数据分布是否具有正态分布形状 我通过使用QQ图进行了检查,但我也希望在使用实际数据的直方图中看到这一点

2 个答案:

答案 0 :(得分:1)

如果我了解您的目标是什么,我建议您使用seaborn的distplot函数。您将同时获得发行版和历史记录!

答案 1 :(得分:1)

您在一个帖子中问了很多问题。我将回答有关绘制发生频率的问题。假设您的清单包含字串。您可以使用Counter模块来计算频率。然后,您可以使用plt.plot()

直接绘制频率和项
from collections import Counter
import matplotlib.pyplot as plt

lst = ['A','A','A','B','B','B','B','B','B','C','C','C','C','D','D','D','E', 'E','E','E']

counts = Counter(lst)
plt.bar(counts.keys(), counts.values())
plt.show()

enter image description here