在python中如何画出一组数据的分布直方图,实现代码
时间: 2024-05-29 11:09:14 浏览: 104
import matplotlib.pyplot as plt
data = [1, 2, 3, 4, 5, 5, 6, 6, 6, 7, 8, 8, 8, 8, 9, 10]
plt.hist(data, bins=5, edgecolor='black')
plt.xlabel('Values')
plt.ylabel('Frequency')
plt.title('Histogram of Data')
plt.show()
相关问题
python怎么画分布直方图
Python中可以使用matplotlib库中的hist函数来绘制分布直方图。下面是一个使用matplotlib画分布直方图的例子:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成一组随机数据
data = np.random.randn(1000)
# 绘制直方图
plt.hist(data, bins=30)
# 设置标题和坐标轴标签
plt.title('Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 显示图形
plt.show()
```
上述代码中,我们首先生成了一个包含1000个随机数的数据集,然后使用plt.hist函数绘制了分布直方图,并设置了标题和坐标轴标签。最后使用plt.show函数显示图形。其中,bins参数指定了直方图的柱子数量,可以根据数据集的大小和分布情况进行调整。
python频率分布直方图
在Python中,可以使用`matplotlib`库绘制频率分布直方图。假设你已经有一组数据,可以按照以下步骤进行绘制:
1. 导入`matplotlib`库和数据:
```python
import matplotlib.pyplot as plt
import numpy as np
data = np.random.normal(0, 1, 1000) # 生成1000个服从标准正态分布的随机数
```
2. 计算频率分布:
```python
hist, bins = np.histogram(data, bins=20) # 将数据分成20个bins,计算每个bin的频数
freq = hist / len(data) # 计算每个bin的频率
```
3. 绘制直方图:
```python
plt.bar(bins[:-1], freq, width=(bins[1]-bins[0]), align='edge', edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Data')
plt.show()
```
其中,`plt.bar()`函数用于绘制直方图,`bins[:-1]`表示每个bin的左边界,`freq`表示每个bin的频率,`width`表示每个bin的宽度,`align`表示对齐方式,`edgecolor`表示边框颜色。`plt.xlabel()`和`plt.ylabel()`分别用于设置x轴和y轴的标签,`plt.title()`用于设置标题。最后使用`plt.show()`函数显示图像。
这样就可以绘制出频率分布直方图了。具体代码如下:
```python
import matplotlib.pyplot as plt
import numpy as np
data = np.random.normal(0, 1, 1000) # 生成1000个服从标准正态分布的随机数
hist, bins = np.histogram(data, bins=20) # 将数据分成20个bins,计算每个bin的频数
freq = hist / len(data) # 计算每个bin的频率
plt.bar(bins[:-1], freq, width=(bins[1]-bins[0]), align='edge', edgecolor='black')
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Data')
plt.show()
```
运行结果如下图所示:
![频率分布直方图](https://img-blog.csdnimg.cn/20211020142505349.png)
阅读全文