如何在 Seaborn 的同一个 catplot 上显示 kind="swarm" 和 kind="point"?

问题描述

我试图在 Seaborn 的同一个 catplot 上同时显示均值和误差(kind="point")以及单个数据点(kind="swarm")。

我有以下代码

sns.catplot(x="Variable_A",y="Dependent_Variable",col="Variable_B",data=LRP_df,kind="swarm",color = "black")

sns.catplot(x="Variable_A",kind="point",color = "red")

sns.despine()

分别生成图:

result of calling catplot

如何使两个图位于同一轴上?

谢谢!

解决方法

使用面网格,您可以通过使用 map_dataframe() 指定每个面来覆盖每个面。此 official reference 中的示例已被修改。数据基于样本数据。

import seaborn as sns

sns.set_theme(style="ticks")
exercise = sns.load_dataset("exercise")

g = sns.FacetGrid(exercise,col="kind")
g.map_dataframe(sns.stripplot,x="time",y="pulse",color="black")
g.map_dataframe(sns.pointplot,color="red")
g.set_axis_labels("time","pulse")

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...