正态分布柱状图50个数值呈正态分布,通过plt.bar()进行绘制
时间: 2023-08-03 13:11:24 浏览: 80
要绘制正态分布柱状图,可以使用numpy库生成正态分布随机数,然后使用matplotlib库中的plt.bar()函数绘制柱状图。
下面是一个示例代码,生成50个符合正态分布的随机数,并将它们分成10个区间,然后绘制柱状图:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成50个符合正态分布的随机数(均值为0,标准差为1)
data = np.random.normal(0, 1, 50)
# 将数据分成10个区间,并统计每个区间的数量
bins = np.linspace(-3, 3, 11)
counts, _ = np.histogram(data, bins=bins)
# 绘制柱状图
plt.bar(bins[:-1], counts, width=0.6, align='edge')
# 设置x轴标签和标题
plt.xlabel('Value')
plt.title('Normal Distribution Histogram')
# 显示图形
plt.show()
```
运行上述代码,即可得到一张正态分布柱状图。
相关问题
50个数值成正态分布范围为0-100 通过plt.bar()进行柱状绘制
可以使用Python中的random和numpy库来生成符合正态分布的50个随机数,并使用matplotlib库的plt.bar()函数进行柱状图绘制。
示例代码如下:
```python
import random
import numpy as np
import matplotlib.pyplot as plt
# 生成50个随机数,符合正态分布,范围为0-100
mu, sigma = 50, 10 # 均值和标准差
data = np.random.normal(mu, sigma, 50)
data = [x if x >= 0 else 0 for x in data] # 将小于0的数值设置为0
data = [x if x <= 100 else 100 for x in data] # 将大于100的数值设置为100
# 绘制柱状图
plt.bar(range(len(data)), data)
# 设置标题、坐标轴标签
plt.title('Normal Distribution')
plt.xlabel('Index')
plt.ylabel('Value')
plt.show()
```
运行以上代码,可以得到一个50个数值成正态分布范围为0-100的柱状图。
plt.bar绘制两份数据对比的柱状图
好的,以下是使用plt.bar绘制两份数据对比的柱状图的示例代码:
```python
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
data1 = np.array([20, 35, 30, 35, 27])
data2 = np.array([25, 32, 34, 20, 25])
labels = np.array(['A', 'B', 'C', 'D', 'E'])
# 设置图形大小
plt.figure(figsize=(8, 6))
# 绘制柱状图
bar_width = 0.35
x = np.arange(len(labels))
plt.bar(x, data1, bar_width, label='Data1')
plt.bar(x + bar_width, data2, bar_width, label='Data2')
# 设置x轴标签和标题
plt.xlabel('Categories')
plt.ylabel('Values')
plt.title('Comparison of Data1 and Data2')
# 设置图例
plt.legend()
# 显示图形
plt.show()
```
在这个示例中,我们生成了两份示例数据`data1`和`data2`,并使用`plt.bar`函数绘制了两组柱状图。通过`bar_width`参数,我们使两组柱状图的位置错开,以便更清楚地看到它们之间的差异。最后,我们设置了x轴标签、y轴标签和标题,并使用`plt.legend()`添加了图例。