Как аннотировать горизонтальные графы Seaborn? - PullRequest
0 голосов
/ 05 мая 2018

Как мне манипулировать расположением аннотаций, чтобы они отображались в конце столбцов?

Это то, что у меня так далеко: 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))

Буду признателен, если кто-нибудь сможет мне помочь. Я новичок Я просмотрел документацию, но не смог найти помощь. Спасибо!

1 Ответ

0 голосов
/ 06 мая 2018

ОБНОВЛЕНИЕ:

Я нашел решение:

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. Установка «горизонтального выравнивания» на «вправо» приводит их к концу столбцов. Также добавлены «fontsize» и «color» для аннотаций.

...