import numpy as np
import matplotlib.pyplot as plt
# 假设 courses 数组已经给出
courses = np.array(['语文', '数学', '英语', '物理', '化学', '生物'])
# 假设 scores 数组已经给出
scores = np.array([
[95, 75, 86, 63, 91, 86], # 高二1班
[96, 93, 76, 85, 88, 76], # 高二2班
[85, 66, 96, 93, 67, 87] # 高二3班
])
# 班级标签
classes = ['高二1班', '高二2班', '高二3班']
# 设置图形大小和边距
plt.figure(figsize=(10, 6))
# 初始化x轴的位置(因为柱状图需要一组等距的x值)
x = np.arange(len(courses))
# 绘制柱状图,每个班级一组柱子
width = 0.3 # 柱子的宽度
for i, avg_scores in enumerate(scores):
plt.bar(x + i * width, avg_scores, width, label=classes[i])
# 设置x轴标签和位置
plt.xticks(x + width * len(scores) // 2, courses, rotation=45