python输入学号输出成绩雷达图
时间: 2024-12-19 13:23:49 浏览: 12
在Python中,你可以通过matplotlib库创建一个学号对应成绩的雷达图。首先,你需要从用户那里获取学号和成绩数据,然后利用`plt.polar()`函数创建雷达图。下面是一个简单的步骤说明:
1. 导入所需的库:
```python
import matplotlib.pyplot as plt
```
2. 获取输入的学号和成绩数据。假设学号为`student_id`,成绩为`score_list`,它们都是列表形式:
```python
student_id = input("请输入学号:")
score_list = list(map(int, input("分别输入各科成绩(用逗号分隔):").split(',')))
```
这里我们假设用户会按照顺序输入学号和科目成绩。
3. 创建雷达图:
```python
n = len(score_list) # 总数目(科目数)
angle = [n * i / (n - 1) for i in range(n)] # 雷达图的各个角度
fig, ax = plt.subplots(subplot_kw=dict(polar=True))
ax.set_yticklabels([''] + ['科目 ' + str(i+1) for i in range(n)]) # 设置y轴标签
ax.set_xticks(angle[:-1]) # 去掉最后一个刻度
ax.set_rlabel_position(0) # 将数值标签放在图表内部
# 绘制分数条形图
values = score_list
ax.plot(angle, values, linewidth=1, linestyle='solid') # 实线表示每个学科分数
ax.fill(angle, values, alpha=0.25) # 网格填充颜色,半透明度为0.25
# 显示图形并保存
plt.title('学生{}的成绩雷达图'.format(student_id))
plt.show()
```
阅读全文