Комментатор прав. Просто измените порядок вещей следующим образом:
fig, ax = plt.subplots(figsize=(10, 5))
ax.set_title('Violin plots for fat content per lab', size=18, weight='bold')
sns.violinplot(data=df_eggs, x='Lab', y='Fat_Content', ax=ax)
ax.set_ylabel('Fat content (%)')
Когда вы ставите ax.set_ylabel
перед sns.violinplot
, метка, установленная вами с ax.set_ylabel
, перезаписывается меткой y, написанной sns.violinplot
.