我想用每组的观察数来注释我的 fiddle 图。因此,该问题与this one基本上相同,除了:
让我们以Seaborn API documentation为例:
import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.violinplot(x="day", y="total_bill", data=tips)
我想在 fiddle 上放n = 62,n = 19,n = 87和n = 76。这可行吗?
最佳答案
在这种情况下,我想预先计算带注释的值并将其合并到分类轴中。换句话说,预先计算例如「星期四,N = xxx」
看起来像这样:
import seaborn as sns
sns.set_style("whitegrid")
ax= (
sns.load_dataset("tips")
.assign(count=lambda df: df['day'].map(df.groupby(by=['day'])['total_bill'].count()))
.assign(grouper=lambda df: df['day'].astype(str) + '\nN = ' + df['count'].astype(str))
.sort_values(by='day')
.pipe((sns.violinplot, 'data'), x="grouper", y="total_bill")
.set(xlabel='Day of the Week', ylabel='Total Bill (USD)')
)