从数据帧创建多系列箱线图

时间:2021-05-13 15:39:12

标签: python pandas matplotlib seaborn boxplot

我有一个包含一些校准数据的数据框,每一行都是一个校准记录,带有单位的修订和不同规模容量下的百分比误差。我想创建此数据的箱线图,其中我在 x 轴上有容量列,并按修订进一步细分。与 Seaborn 的箱线图文档中提供的示例非常相似(其中吸烟者 = 修订版,天 = 容量)。我试图复制该示例,但似乎无法在不明确定义 x 和 y 的情况下使色调参数起作用。考虑到我有多个 x 系列,我不确定该怎么做。我对熊猫很陌生,我认为我需要以更长的形式重组数据,以便只有一个 x 轴。我将如何做这件事来实现我的目标?如果需要,我可以提供更多信息。

Here's the seaborn example I'm trying to replicate

我已经建立了一个示例数据集来展示其当前结构以供参考:

sample data

1 个答案:

答案 0 :(得分:1)

如果其他人偶然发现这个,我自己想出来。需要先将数据框融合为 3 列:

df = pd.melt(df, id_vars=['Revision'], value_vars=['20%','40%','60%','80%','100%'], var_name='Capacity', value_name='% Error')
ax = sns.boxplot(x='Capacity', y='% Error', hue='Revision', data=df, palette='Set3', showfliers=False)