pathon随机生成1000个五百以内的整数,并绘制直方图,然后给我经过归一化后的直方图
时间: 2024-11-15 09:33:50 浏览: 2
图形用户编程.编写一个简单的计算器程序,要求有菜单,能进行简单的加减乘除运算。
5星 · 资源好评率100%
Python中可以使用`numpy`库来生成随机整数,并利用`matplotlib`进行直方图绘制和数据归一化。以下是步骤:
1. 首先,安装所需的库如果尚未安装:
```bash
pip install numpy matplotlib
```
2. 使用`numpy`生成1000个介于1到500之间的随机整数:
```python
import numpy as np
random_numbers = np.random.randint(1, 501, size=1000)
```
3. 绘制原始直方图:
```python
import matplotlib.pyplot as plt
plt.hist(random_numbers, bins=50, edgecolor='black')
plt.xlabel('数值')
plt.ylabel('频数')
plt.title('未归一化的随机整数分布')
plt.show()
```
4. 对数据进行归一化,确保所有值都在0到1之间:
```python
normalized_numbers, _ = np.histogram(random_numbers, bins=50, density=True) # density=True表示归一化
normalized_numbers = list(normalized_numbers)
```
5. 绘制归一化的直方图:
```python
plt.figure()
plt.plot(range(1, 51), normalized_numbers, label='归一化分布')
plt.xlabel('数值')
plt.ylabel('频率比例')
plt.legend()
plt.title('归一化的随机整数分布')
plt.show()
```
阅读全文