Аннотировать гистограмму Seaborn значением из другого столбцаPython

Программы на Python
Anonymous
Аннотировать гистограмму Seaborn значением из другого столбца

Сообщение Anonymous »

Я создал сгруппированную гистограмму, которая отражает процент выигранных дел за определенный интервал времени. Я хотел бы прокомментировать гистограмму количеством выигранных дел за интервал времени.
Вот мой код:

Код: Выделить всё

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.DataFrame({
'years': ['1994-1998','1999-2003','2004-2008','2009-2013','2013-2017','2018-2022'],
'Starfish number of cases': [10,8,31,12,2,3],
'Starfish percent of wins': [0,0.25,0.225806451612903,0.416666666666666,1,0],
'Jellyfish number of cases':[597,429,183,238,510,595],
'Jellyfish percent of wins':[0.362646566164154,0.273892773892773,0.423497267759562,0.478991596638655,0.405882352941176,0.408403361344537],

})

df = pd.melt(df, id_vars=['years'], value_vars=['Starfish percent of wins', 'Jellyfish percent of wins'])

sns.set_theme(style="whitegrid")

# Initialize the matplotlib figure
f, ax = plt.subplots(figsize=(30, 15))

sns.barplot(x="years", y="value", hue='variable', data=df)

for p in ax.patches:
ax.annotate(str(p.get_height()), (p.get_x() * 1.005, p.get_height() * 1.005))
Я попытался включить количество случаев в функцию плавления
(т.е. df = pd.melt(df, id_vars=['years'], value_vars=[' Число случаев морской звезды», «Количество случаев медузы», «Процент побед морской звезды», «Процент побед медузы»])), но при этом добавляются дополнительные полосы, представляющие общее количество случаев.Я попытался изменить ответ здесь, добавив строки ниже, но результаты показывают процентные аннотации, а не количество случаев:

Код: Выделить всё

for p,years in zip(ax.patches, df['Starfish number of cases','Jellyfish number of cases']):
ax.annotate(years, xy=(p.get_x()+p.get_width()/2, p.get_height()),
ha='center', va='bottom')
Здесь есть ответ, но он сложный. Должен быть более простой способ?

Подробнее здесь: https://stackoverflow.com/questions/786 ... her-column

Вернуться в «Python»