【发布时间】:2020-05-30 06:20:04
【问题描述】:
我有三个数据集,现在我正在制作 3 个不同的箱形图。现在我正在使用:
chart1 = sns.catplot(x="Provider", y="Appearances", kind="box", data=mlt_sample1k)
chart2 = sns.catplot(x="Provider", y="Appearances", kind="box", data=mlt_sample10k)
chart3 = sns.catplot(x="Provider", y="Appearances", kind="box", data=mlt_sample100k)
mlt_sample1k、mlt_sample10k 和 mlt_sample100k 是我的三个数据框。
我想将这些组合成一个箱线图,每个提供者有 3 个平行箱,如示例from the docs. 类似:
但是有 3 个盒子,星期四、星期五等将是我的“提供者”类别。我在他们简单使用的文档中看到:
ax = sns.boxplot(x="day", y="total_bill", hue="smoker",
data=tips, palette="Set3")
但这对我不起作用,因为我必须指定三个数据集,每个框一个。我怎样才能做到这一点?
编辑:我的数据框的结构始终相同:
item | provider | appearances
'dog' 'prov1' 0.001
'cat' 'prov2' 0.02
'pig' 'prov1' 0.03
...
箱线图代表项目的统计数据,根据外观列,每个提供者(总共 6 个)每个数据帧。
三个数据帧的长度不同。
【问题讨论】:
-
有关 dfs 结构的更多信息会很有用。您是否尝试过创建一个轴对象并将其传递给每个单独的箱线图调用?
-
@FChm 我已经用数据框结构编辑了我的答案。至于你的建议,我不确定你的意思。你能尝试粘贴一个小代码示例吗?
标签: python matplotlib plot seaborn