首页 > 解决方案 > seaborn plot 小提琴的阵列

问题描述

我有两个数组:

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 的情况下这样做?

标签: pandasdataframeseaborndata-visualizationviolin-plot

解决方案


您可以在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 vs 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'])

sns.violinplot 来自两个列表


推荐阅读