已知实验中学举行了高二期中模拟考试,考试后分别计算了全体男生、女生各科的平均成绩

import numpy as np

import matplotlib.pyplot as plt

plt.rcParams['font.sans-serif'] = ['SimHei']

plt.rcParams['axes.unicode_minus'] = False

men_means = (85.5,91.0,72.0,59.0,66.0,55.0)

women_means = (94.0,82.0,89.5,62.0,49.0,53.0)

x = np.arange(len(men_means)) # 每组柱形的 x 位置

width = 0.3 # 各柱形的宽度

fig = plt.figure()

ax = fig.add_subplot(111)

ax.bar(x - width / 2, men_means, width, label='男生')

ax.bar(x+width / 2, women_means, width, label='女生')

ax.set_title(' 高二男生、女生平均成绩')

ax.set_ylabel('平均成绩(分)')

ax.set_xticks(x)

ax.set_xticklabels(['语文', '数学', '英语', '物理', '化学', '生物'])

# 添加参考线

ax.axhline(88.5, ls='-', linewidth=1.0, label='全体平均成绩')

ax.legend(loc="upper right")

# 添加无指向型注释文本

for x,men_means,women_means in zip(x,men_means,women_means):

    plt.text(x-width/2,men_means+1,men_means,ha='center',fontsize=9)

    plt.text(x+width/2,women_means+1,women_means,ha='center',fontsize=9) 

plt.show()

 

你可能感兴趣的:(python)