现在有六类学科,分别是语文数学英语物理化学生物,男生这六科的平均成绩分别为85.5、91、72、59、66、55,女生这六科平均成绩分别为94、82、89.5、62、49、53,麻烦帮我用python绘制堆积柱形图,堆积柱形图的x轴是学科,y轴是平均成绩
时间: 2024-09-28 12:11:06 浏览: 67
在Python中,我们可以使用matplotlib库来创建堆积柱状图。首先,我们需要安装这个库(如果还没有安装),然后使用pandas处理数据,最后利用plt.bar函数构建堆积柱形图。以下是简单的步骤:
```python
# 导入需要的库
import matplotlib.pyplot as plt
import pandas as pd
# 定义学科和对应的男女平均成绩数据
subjects = ['语文', '数学', '英语', '物理', '化学', '生物']
male_scores = [85.5, 91, 72, 59, 66, 55]
female_scores = [94, 82, 89.5, 62, 49, 53]
# 创建DataFrame存储数据
data = {'学科': subjects, '男生成绩': male_scores, '女生成绩': female_scores}
df = pd.DataFrame(data)
# 绘制堆积柱形图
fig, ax = plt.subplots()
ax.bar(df['学科'], df['男生成绩'], label='男生', bottom=df['女生成绩'])
ax.set_xlabel('学科')
ax.set_ylabel('平均成绩')
ax.set_title('学科平均成绩堆积柱状图')
ax.legend()
# 显示图形
plt.show()
```
这将为你创建一个堆叠的柱状图,其中x轴表示学科,y轴显示平均成绩,每个柱子分为两部分,上方代表男生的成绩,下方代表女生的成绩。
阅读全文