代码:
def drawBar():
xticks = ['A', 'B', 'C', 'D', 'E']#每个柱的下标说明
gradeGroup = {'A':200,'B':250,'C':330,'D':400,'E':500}#用于画图的频率数据 #创建柱状图
#第一个参数为柱的横坐标
#第二个参数为柱的高度
#参数align为柱的对齐方式,以第一个参数为参考标准
plt.bar(range(5), [gradeGroup.get(xtick, 0) for xtick in xticks], align='center',yerr=0.000001) #设置柱的文字说明
#第一个参数为文字说明的横坐标
#第二个参数为文字说明的内容
plt.xticks(range(5), xticks) #设置横坐标轴的标签说明
plt.xlabel('Grade')
#设置纵坐标轴的标签说明
plt.ylabel('Frequency')
#设置标题
plt.title('Grades Of Male Students')
#绘图
plt.show()
效果图:
由此看出,要绘制直方图,只要准备一个包含频率(柱状体高度)的字典,字典的key即为柱状体的下标,字典的value即为柱状体高度,各个柱状体的横坐标由字典的大小(多少个键值对)确定。
matplotlib的另外一种绘制直方图函数是hist(),暂时不会用,待学习。