python怎么用histogram画出一组数字中每个数字的relative frequency
时间: 2024-11-12 12:39:14 浏览: 26
在Python中,你可以使用matplotlib库中的`hist()`函数结合numpy库来计算并绘制一组数字的相对频率(也称为频数分布)。首先,你需要安装这两个库,如果你还没有安装,可以使用pip来安装:
```bash
pip install matplotlib numpy
```
然后,下面是一个简单的例子展示了如何操作:
```python
import matplotlib.pyplot as plt
import numpy as np
# 假设我们有一组数据
data = [1, 2, 2, 3, 4, 4, 4, 5, 6]
# 计算每个数字出现的次数(频数)
counts, bins = np.histogram(data, bins=range(1, 8))
# 计算总频数(样本总数)
total_count = len(data)
# 计算相对频率
relative_frequencies = counts / total_count
# 绘制直方图,x轴表示bin的中心值,y轴表示相对频率
plt.bar(bins[:-1], relative_frequencies, width=(bins[1] - bins[0]))
# 设置标题和坐标标签
plt.title("Relative Frequency Histogram")
plt.xlabel("Number")
plt.ylabel("Frequency")
# 显示图形
plt.show()
```
在这个例子中,`np.histogram()`用于创建直方图,`bins`参数指定了分桶的边界,`width`参数控制了柱子的宽度。最后,我们将每个条形的高度设置为相应的相对频率,并显示出来。
阅读全文