我知道这是一个老话题,但我通过Google多次登陆这里,并认为没有给出答案真的令人满意。尝试使用以下功能之一:
编辑:因为我在这个旧线程上得到了一些喜欢,我也想分享一个更新的解决方案(基本上将我的前两个函数放在一起并自动决定它是一个条形图还是hbar图):def label_bars(ax, bars, text_format, **kwargs):
"""
Attaches a label on every bar of a regular or horizontal bar chart
"""
ys = [bar.get_y() for bar in bars]
y_is_constant = all(y == ys[0] for y in ys) # -> regular bar chart, since all all bars start on the same y level (0)
if y_is_constant:
_label_bar(ax, bars, text_format, **kwargs)
else:
_label_barh(ax, bars, text_format, **kwargs)def _label_bar(ax, bars, text_format, **kwargs):
"""
Attach a text label to each bar displaying its y value
"""
max_y_value = ax.get_ylim()[1]
inside_distance = max_y_value * 0.05
outside