我相信这将指向正确的方向:
您最感兴趣的部分是:
def autolabel(rects):
for rect in rects:
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2., 1.05*height, '%d'%int(height),
ha='center', va='bottom')
文本的位置由高度函数或列的高度确定,并且放在每列顶部的数字由’%d’%int(height)写成。所以你需要做的是创建一个字符串数组,称为’name’,你想在列的顶部和迭代。请务必将格式更改为字符串(%s),而不是双精度。
def autolabel(rects):
# attach some text labels
for ii,rect in enumerate(rects):
height = rect.get_height()
plt.text(rect.get_x()+rect.get_width()/2., 1.02*height, '%s'% (name[ii]),
ha='center', va='bottom')
autolabel(rects1)
这应该做!