按要求绘制图表: (1) 绘制柱形图。柱形图的x轴为学科,y轴为平均成绩。 (2) 设置y轴的标签为:“平均成绩(分)” (3) 设置标题:“男生,女生平均成绩” (4) 设置x轴的刻度标签位于两组柱形中间。 (5) 添加图例 (6) 向每个柱形的顶部添加注释文本,标注平均成绩。 (7) 绘制堆积柱形图。堆积柱形图的x轴为学科,y轴为平均成绩。
时间: 2024-01-25 21:03:31 浏览: 240
由于没有提供数据,这里给出绘制柱形图和堆积柱形图的代码模板,需要根据实际数据进行适当修改:
```python
import matplotlib.pyplot as plt
import numpy as np
# 柱形图
subjects = ['语文', '数学', '英语', '物理', '化学', '生物']
avg_scores_male = [90, 85, 95, 80, 75, 85]
avg_scores_female = [92, 87, 93, 82, 78, 88]
x = np.arange(len(subjects))
width = 0.35
fig, ax = plt.subplots()
rects1 = ax.bar(x - width/2, avg_scores_male, width, label='男生')
rects2 = ax.bar(x + width/2, avg_scores_female, width, label='女生')
ax.set_ylabel('平均成绩(分)')
ax.set_title('男生,女生平均成绩')
ax.set_xticks(x)
ax.set_xticklabels(subjects)
ax.legend()
for rect in rects1+rects2:
height = rect.get_height()
ax.annotate('{}'.format(height),
xy=(rect.get_x() + rect.get_width() / 2, height),
xytext=(0, 3), # 3 points vertical offset
textcoords="offset points",
ha='center', va='bottom')
plt.show()
# 堆积柱形图
subjects = ['语文', '数学', '英语', '物理', '化学', '生物']
avg_scores_male = [90, 85, 95, 80, 75, 85]
avg_scores_female = [92, 87, 93, 82, 78, 88]
x = np.arange(len(subjects))
fig, ax = plt.subplots()
ax.bar(subjects, avg_scores_male, label='男生')
ax.bar(subjects, avg_scores_female, bottom=avg_scores_male, label='女生')
ax.set_ylabel('平均成绩(分)')
ax.set_title('男生,女生平均成绩')
ax.legend()
plt.show()
```
这里以6个学科的男女生平均成绩为例,第一个是柱形图,第二个是堆积柱形图。
阅读全文