代码:

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

效果图:

matplotlib绘制直方图【柱状图】-LMLPHP

由此看出,要绘制直方图,只要准备一个包含频率(柱状体高度)的字典,字典的key即为柱状体的下标,字典的value即为柱状体高度,各个柱状体的横坐标由字典的大小(多少个键值对)确定。

matplotlib的另外一种绘制直方图函数是hist(),暂时不会用,待学习。

参考:http://www.cnblogs.com/harvey888/p/5717098.html

05-11 19:31