2016-06-13 127 views
0

我需要注解水平条形图。 我能够使用matplotlib网站中显示的示例注释垂直条形图,但对于horizo​​natl类似的想法似乎不起作用。matplotlib中水平条形图的注释

以下是小的垂直

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

工作示例以下是我想获得工作的代码,但对于水平图表

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

任何帮助表示赞赏不工作,感谢提前!

回答

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

enter image description here