Попытка получить эти данные из графика, сгенерированного seaborn, не будет невозможной, но будет очень громоздкой, поскольку seaborn не возвращает исполнителей, которых она создает, и catplot()
может генерировать несколько вспомогательных сюжетов и т. Д.
Тем не менее, я ожидаю, что вам не нужно получать данные из графика, вы можете получить их непосредственно из кадра данных, не так ли? Эта простая демонстрация показывает, что график и рассчитанные значения совпадают:
titanic = sns.load_dataset("titanic")
sns.catplot(x='sex',y='age',hue="class", data=titanic, ci="sd", capsize=0.1, kind="bar")
titanic.groupby(['sex','class'])['age'].describe()[['mean','std']]
mean std
sex class
female First 34.611765 13.612052
Second 28.722973 12.872702
Third 21.750000 12.729964
male First 41.281386 15.139570
Second 30.740707 14.793894
Third 26.507589 12.159514