python做正态分布直方图
时间: 2023-11-15 08:00:00 浏览: 101
要在Python中绘制正态分布直方图,可以使用NumPy和Matplotlib库。以下是一些步骤:
1. 导入NumPy和Matplotlib库。
2. 使用NumPy的random.normal()函数生成一个正态分布的序列。
3. 将序列中的每个元素四舍五入为整数。
4. 使用NumPy的unique()函数获取序列中的唯一值和它们的出现次数。
5. 使用Matplotlib的scatter()函数绘制散点图。
下面是一个示例代码:
```
import numpy as np
import matplotlib.pyplot as plt
# 生成正态分布序列
n = 100000
ex = 1000
de = 20
y = np.random.normal(ex, de, n)
# 四舍五入为整数
y = np.round(y).astype(int)
# 获取唯一值和出现次数
un, cnt = np.unique(y, return_counts=True)
# 绘制散点图
plt.scatter(un, cnt)
plt.show()
```
这段代码将生成一个正态分布的直方图。其中,x轴表示数值,y轴表示该数值在序列中出现的次数。可以根据需要调整参数来改变直方图的样式和布局。
相关问题
python画两组正态分布直方图
要使用Python画两组正态分布直方图,可以按照以下步骤进行操作:
1. 导入所需的库:
```python
import numpy as np
import matplotlib.pyplot as plt
```
2. 生成两组正态分布的随机数据:
```python
data_normal = np.random.normal(loc=0, scale=1, size=1000)
data_unknow = np.random.normal(loc=2, scale=0.5, size=1000)
```
3. 绘制直方图:
```python
plt.hist(data_normal, bins=30, alpha=0.5, label='Normal')
plt.hist(data_unknow, bins=30, alpha=0.5, label='Unknow')
plt.legend()
plt.xlabel('Value')
plt.ylabel('Frequency')
plt.title('Histogram of Two Groups of Normal Distributions')
plt.show()
```
这样就可以用Python画出两组正态分布的直方图。
origin里绘制正态分布直方图
您可以使用Python中的numpy和matplotlib库来绘制正态分布直方图。以下是示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成正态分布数据
mu, sigma = 0, 0.1 # 均值和标准差
data = np.random.normal(mu, sigma, 1000)
# 绘制直方图
count, bins, ignored = plt.hist(data, 30, density=True) # bins为直方图的个数,density=True表示进行归一化处理
# 绘制正态分布曲线
plt.plot(bins, 1/(sigma*np.sqrt(2*np.pi))*np.exp(-(bins-mu)**2/(2*sigma**2)), linewidth=2, color='r')
# 添加标题和标签
plt.title('Normal Distribution Histogram')
plt.xlabel('Value')
plt.ylabel('Frequency')
# 显示图形
plt.show()
```
运行以上代码,可以得到如下图所示的正态分布直方图:
![normal_distribution_histogram](https://cdn.jsdelivr.net/gh/1077044087/CDN/nlp_images/normal_distribution_histogram.png)