如何操作注释的位置以便它们显示在条形的末尾?
这是我到目前为止所做的:https://i.imgur.com/5NEzoVY.png
而且,这是代码:
fig = plt.figure(1, figsize=(15,10))
ax = sns.countplot(y="carrier", hue='Delay_Level', data=Subset_Data)
plt.xlabel('count', fontsize=15, weight = 'bold', labelpad=10)
plt.ylabel('ABC', fontsize=15, weight = 'bold', labelpad=10)
for p in ax.patches:
x=p.get_bbox().get_points()[:,1]
y=p.get_bbox().get_points()[1,0]
ax.annotate(y,(p.get_height()+2,p.get_y()+0.15))
如果有人能帮助我,我将不胜感激。我是初学者。我查看了文档但找不到帮助。 谢谢!
答案 0 :(得分:0)
更新:
我找到了解决方案:
for p in ax.patches:
ax.annotate(int(p.get_width()),((p.get_x() + p.get_width()), p.get_y()), xytext=(1, -18),fontsize=9,color='#004d00',textcoords='offset points', horizontalalignment='right')
我没有使用边界框的点,而是使用get_width来获取矩形的宽度。 “textcoords”帮助将注释放在各自的栏旁边;它表示xytext中使用的坐标类型。将“horizontalalignment”设置为“right”会使它们朝向条形的末端。还在“fontsize”和“color”中添加了注释。