python 在一个画布上用六个子图画出前六名学生的四门课程成绩的饼图
时间: 2023-09-19 07:01:43 浏览: 45
要在一个画布上用六个子图画出前六名学生的四门课程成绩的饼图,我们可以使用Python中的matplotlib库来实现。
首先,导入必要的库:
```python
import matplotlib.pyplot as plt
import numpy as np
```
然后,创建一个6x4的子图布局:
```python
fig, axes = plt.subplots(6, 4, figsize=(10, 10))
```
接着,定义六个学生的姓名和成绩数据:
```python
students = ['学生A', '学生B', '学生C', '学生D', '学生E', '学生F']
scores = np.random.randint(0, 100, size=(6, 4))
```
接下来,使用循环遍历子图,并为每个子图绘制饼图:
```python
for i in range(6):
for j in range(4):
ax = axes[i, j]
ax.pie(scores[i, :], labels=['课程1', '课程2', '课程3', '课程4'], autopct='%1.1f%%')
ax.set_title(students[i])
# 删除多余的子图
for i in range(6):
for j in range(4, 6):
fig.delaxes(axes[i, j])
```
最后,显示图形:
```python
plt.tight_layout()
plt.show()
```
这样,就能够在一个画布上用六个子图画出前六名学生的四门课程成绩的饼图了。