【发布时间】:2026-01-21 04:35:01
【问题描述】:
我需要在 matplotlib 中将swarmplot 添加到boxplot,但我不知道如何使用factorplot。我想我可以使用子图进行迭代,但我想学习如何使用 seaborn 和 factorplot 进行迭代。
一个简单的example(使用同一轴绘制ax):
import seaborn as sns
tips = sns.load_dataset("tips")
ax = sns.boxplot(x="tip", y="day", data=tips, whis=np.inf)
ax = sns.swarmplot(x="tip", y="day", data=tips, color=".2")
在我的情况下,我需要覆盖群体因子图:
g = sns.factorplot(x="sex", y="total_bill",
hue="smoker", col="time",
data=tips, kind="swarm",
size=4, aspect=.7);
和箱线图
我不知道如何使用坐标轴(摘自g)?
类似:
g = sns.factorplot(x="sex", y="total_bill",
hue="smoker", col="time",
data=tips, kind="box",
size=4, aspect=.7);
我想要这样的东西,但用 factorplot 和 boxplot 而不是 violinplot
【问题讨论】:
-
您需要 2 个箱线图,因为您有两个 swarmplot,对吗?直接画两个swarmplots和两个boxplots可以轻松叠加不是更有意义吗?
-
@ImportanceOfBeingErnest,绝对!我想要完全按照你的建议,但我正在努力做到这一点。有什么简单的解决方法吗?
-
编辑令人困惑。您显示的想要拥有的情节只有一个子情节?
标签: python matplotlib seaborn boxplot swarmplot