是否有可能用每组中的观察次数注释一个seaborn小提琴图?

pos*_*def 5 python plot seaborn violin-plot

我想用每组中的观察数量来注释我的小提琴情节.所以问题基本上与这个问题相同,除了:

  • python而不是R,
  • seaborn而不是ggplot,和
  • 小提琴情节而不是箱形图

让我们从Seaborn API文档中获取此示例:

import seaborn as sns
sns.set_style("whitegrid")
tips = sns.load_dataset("tips")
ax = sns.violinplot(x="day", y="total_bill", data=tips)
Run Code Online (Sandbox Code Playgroud)

我希望在小提琴之上有n = 62,n = 19,n = 87,并且n = 76.这可行吗?

Pau*_*l H 5

在这种情况下,我喜欢预先计算带注释的值并将它们合并到分类轴中.换句话说,预计算例如"Thurs,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)')   
)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述