seaborn plot 阵列的小提琴

seaborn plot violin of the arrays

我有两个数组:

l1 = [2,1,5,6,1,2,4,5,6,1]

l2 = [7,8,4,1,3,4,8]

我想为每个列表绘制不同颜色的 seaborn violinplot(l1 和 l2 的单独小提琴)。 有没有一种方法可以在不创建数据框和从中 pd.melt 的情况下做到这一点?

可以在不提供dataframe的情况下给sns.violinplot()参数,如下:

import seaborn as sns

l1 = [2, 1, 5, 6, 1, 2, 4]
l2 = [7, 8, 4, 1, 3, 4, 8]
flag = [0, 1, 1, 1, 0, 0, 1]
sns.violinplot(y=l1 + l2, x=["l1"]*len(l1) + ["l2"]*len(l2),
               hue=flag + flag, palette=['crimson', 'cornflowerblue'])

仅使用 l1 与 l2 信息:

import seaborn as sns

l1 = [2, 1, 5, 6, 1, 2, 4]
l2 = [7, 8, 4, 1, 3, 4, 8]
sns.violinplot(y=l1 + l2, x=["l1"] * len(l1) + ["l2"] * len(l2), palette=['tomato', 'cornflowerblue'])