了解哪一种题型的通过率低,是训练的难点。
首先用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()

Python使用pmt函数 pat用python_算法

我们发现看小图时,汉字挤到了一起去,需要美工设计,变成横向条形图
在绘制甲级图时,从新设计:

plt.barh(alg, jiaji)
plt.title('甲通过率算法难度的调查结果')

plt.show()

Python使用pmt函数 pat用python_统计学_02

把两个图合并

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()

Python使用pmt函数 pat用python_算法_03