写一个代码,阅读文件,文件地址为D:\实验三资料\实验三资料\student_score_converted1.xlsx,绘制高等数学(一)这门课的成绩柱状图,按照10分间隔绘制。要求: (1) 有标题 (2) 显示数据标签,即每柱内有几人
时间: 2024-12-15 14:14:40 浏览: 12
首先,为了完成这个任务,我们需要使用Python的数据分析库pandas来读取Excel文件,并利用matplotlib库来创建柱状图。以下是一个简单的示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取文件
file_path = "D:\\实验三资料\\实验三资料\\student_score_converted1.xlsx"
data = pd.read_excel(file_path, sheet_name='高等数学(一)')
# 确保成绩列存在并转换为整数
if '成绩' in data.columns:
data['成绩'] = data['成绩'].astype(int)
else:
print("无法找到名为'成绩'的列")
# 按10分区间分组,计算人数
score_groups = data.groupby(data['成绩'].apply(lambda x: x // 10 * 10)).size().reset_index(name='人数')
# 绘制柱状图
plt.figure(figsize=(10, 6))
plt.bar(score_groups['成绩'], score_groups['人数'])
plt.title('高等数学(一)成绩分布')
plt.xlabel('分数段')
plt.ylabel('人数')
plt.xticks(score_groups['成绩'], [str(i*10) + '-' + str((i+1)*10) for i in range(len(score_groups))]) # 添加数据标签
plt.show()
阅读全文