python 条形图图注怎么集中注意力,matplotlib中的水平条形图注释

I need to annotate horizontal bar graphs.

I am able to annotate vertical bar graphs using the example shown in matplotlib website but a similar idea for horizonatl doesn't seem to working.

The following is small working example for vertical

from pylab import *

ops = 90*rand(4) # the bar lengths

pos = arange(4)+.5 # the bar centers on the y axis

rects1 = bar(pos, ops)

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

autolabel(rects1)

show()

The following is the code I want to get working but doesn't work for horizontal graphs

from pylab import *

ops = 90*rand(4) # the bar lengths

pos = arange(4)+.5

rects1 = barh(pos, ops)

def autolabel(rects):

for rect in rects:

width = rect.get_width()

plt.text(rect.get_y() - 1.05*rect.get_height()/2., 1.00*width,

'%d' % int(width),

ha='center', va='bottom')

autolabel(rects1)

show()

Any help appreciated, thanks in advance!

解决方案def autolabel(rects):

for rect in rects:

width = rect.get_width()

plt.text(1.05*rect.get_width(), rect.get_y()+0.5*rect.get_height(),

'%d' % int(width),

ha='center', va='center')

63ab5a5f4d23f11b5299b89d3a197a96.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值