3、创建10到100之间1行59列的随机数组,统计不同分数段的人数,画相应的饼图,如90分以上的A,80分以上的B,70分以上的C,60分以上的D,60分以下的E。(用python 解决)
时间: 2024-09-19 19:10:51 浏览: 32
Ireport4.5.0制作3D饼图
3星 · 编辑精心推荐
首先,我们需要导入必要的库,然后生成一个指定范围内的随机数组,接着计算每个分数段的人数,并绘制饼图。以下是Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成随机数组
np.random.seed(42) # 设置随机种子保证结果可复现
scores = np.random.randint(10, 101, size=(1, 59))
# 统计分数段人数
bins = [0, 60, 70, 80, 90, 101] # 分数段边界
counts = np.histogram(scores.flatten(), bins=bins)[0]
# 创建标签名
labels = ['E', 'D', 'C', 'B', 'A']
# 绘制饼图
plt.pie(counts, labels=labels, autopct='%1.1f%%', startangle=140)
plt.title('Score Distribution')
plt.axis('equal') # 保持圆形,不是扇形
plt.show()
```
这个代码首先生成了一个1行59列的随机整数数组,然后使用`numpy.histogram`函数按照给定的分数段划分并计算每个区间的频数。最后通过`matplotlib.pyplot.pie`函数创建了饼状图,展示各个分数段的人数占比。
阅读全文