代码:
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(),暂时不会用,待学习。