随机生成2行5列成绩,绘制分组柱状图,柱宽0.4,一组为一门课成绩对应一列成绩,一行为一名学生成绩,分别标识为“zhangsan”,“lisi”,
时间: 2024-11-27 21:22:03 浏览: 10
随机生成2行5列的成绩数据,可以先用Python的random库生成一些模拟分数。然后我们可以使用matplotlib库来创建分组柱状图。以下是一个简化的示例:
```python
import numpy as np
import matplotlib.pyplot as plt
# 学生姓名
students = ['zhangsan', 'lisi']
# 每门课程的成绩列表,这里假设5门课程
courses = ['course1', 'course2', 'course3', 'course4', 'course5']
# 随机生成成绩数据
scores = np.random.randint(60, 101, (2, len(courses)))
# 绘制柱状图
fig, ax = plt.subplots()
width = 0.4
bar_centers = np.arange(len(courses)) - width / 2
for i, student in enumerate(students):
for j, course in enumerate(courses):
left = bar_centers[j]
height = scores[i][j]
rect = ax.bar(left, height, width, label=student)
ax.set_xlabel('课程')
ax.set_xticks(bar_centers)
ax.set_xticklabels(courses)
ax.set_ylabel('成绩')
ax.legend(title='学生')
plt.show()
```
在这个例子中,`scores`是一个二维数组,每一行代表一个学生的成绩,每一列代表一门课程的分数。柱状图中,每根柱子的高度对应于对应的分数值。
阅读全文