Comparing Groups
Pass a 2-d array to data, and seaborn treats each column as a group:
groups = rng.normal(loc=[0, 1, 2], scale=1, size=(200, 3))
fig, axes = plt.subplots(1, 2, figsize=(8, 3), layout='constrained')
sns.boxplot(data=groups, ax=axes[0])
sns.violinplot(data=groups, ax=axes[1])
loc=[0, 1, 2] gives each column a different mean, a nice use of broadcasting from Module 3.