了解哪一种题型的通过率低,是训练的难点。
首先用python输入matplotlib和numpy:
import matplotlib.pyplot as plt
import numpy as np
然后解决 plt 中文显示的问题:
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
我们命名alg为题型名,yiji是题目数量,jiaji是通过率
alg = ('简单输入输出', '格式化输入输出', '字符串', '列表元组', '条件、循环和其他语句','集合字典','函数','文件')
yiji = [6,11,18,4,30,11,8,1]
jiaji = [3.33,3.71,2.95,44.95,56.69,55.03,52.31,18.29]
生成题目数量的调查结果:
plt.bar(alg, yiji)
plt.title('题目数量的调查结果')
plt.show()
我们发现看小图时,汉字挤到了一起去,需要美工设计,变成横向条形图
在绘制甲级图时,从新设计:
plt.barh(alg, jiaji)
plt.title('甲通过率算法难度的调查结果')
plt.show()
把两个图合并
bar_width = 0.3 # 条形宽度
index_male = np.arange(len(alg)) #条形图的横坐标
index_female = index_male + bar_width # 条形图的横坐标
# 使用两次 bar 函数画出两组条形图
plt.bar(index_male, height=yiji, width=bar_width, color='#1E90FF', label='题目比例')
plt.bar(index_female, height=jiaji, width=bar_width, color='#F08080', label='通过率')
plt.legend() # 显示图例
plt.xticks(index_male + bar_width/2, alg) bar_width/2 为横坐标轴刻度的位置
plt.ylabel('题目规模') # 纵坐标轴标题
plt.title('算法的调查结果') # 图形标题
plt.show()