随机生成2000个数据,均值为10,方差为3;利用该数据绘制bins分别为10和50的两个直方图。
时间: 2024-04-06 21:28:31 浏览: 95
好的,我可以回答这个问题。首先,我们可以使用Python中的numpy和matplotlib库来生成数据和绘制直方图。
下面是生成数据的代码:
```python
import numpy as np
# 生成数据
mean = 10
std_dev = np.sqrt(3)
data = np.random.normal(mean, std_dev, 2000)
```
接下来,我们可以使用matplotlib库来绘制直方图。使用`hist`函数绘制直方图,可以指定`bins`参数来控制直方图的柱子数量。
以下是绘制分别为10和50个柱子的直方图的代码:
```python
import matplotlib.pyplot as plt
# 绘制直方图(bins=10)
plt.hist(data, bins=10)
plt.title("Histogram with 10 bins")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
# 绘制直方图(bins=50)
plt.hist(data, bins=50)
plt.title("Histogram with 50 bins")
plt.xlabel("Value")
plt.ylabel("Frequency")
plt.show()
```
执行以上代码,会分别绘制出分别为10个和50个柱子的直方图,如下图所示:
![histogram_10bins](https://img-blog.csdnimg.cn/20220105221932855.png)
![histogram_50bins](https://img-blog.csdnimg.cn/20220105222000845.png)
可以看到,随着bins数量的增加,直方图的柱子数量增加,也更加接近于正态分布。
阅读全文