Matplotlib 将多个seaborn.catplot堆叠在彼此的顶部

Matplotlib 将多个seaborn.catplot堆叠在彼此的顶部,matplotlib,seaborn,Matplotlib,Seaborn,我使用Seaborn绘制了多个不同的FaceGrid图(来自无法合并的不同数据帧) 每个情节都是 g = sns.catplot(x="type", y=outcome, hue="team", order=types ,ci=68.2, kind="point",aspect=1.3,

我使用Seaborn绘制了多个不同的FaceGrid图(来自无法合并的不同数据帧)

每个情节都是

g = sns.catplot(x="type", y=outcome, 
                        hue="team",
                        order=types
                        ,ci=68.2,
                        kind="point",aspect=1.3,
                        data=df_temp)
这将给我6个这样的图(仅显示两个作为示例)

我想把它们叠在一起,在同一个ax上有一个同时具有HH和MH值的绘图。要得到这样的东西:

我尝试在循环外部使用一个
fig=plt.figure()
,然后在循环内部使用
fig.axes.append(g.ax)
(在6个数据帧上),但没有成功(我在fig.axes中得到一个空数组)


有办法吗?

尝试通过轴
ax
<代码>catplot不接受
ax
参数

编辑:根据您自己的建议,
pointplot
在传递axis实例
ax
时起作用

fig = plt.figure(figsize=(8,6))
ax = fig.add_subplot(111)

g = sns.pointplot(x="type", y=outcome, hue="team", order=types, 
                  ci=68.2,data=df_temp, ax=ax)

尝试通过轴
ax
<代码>catplot不接受
ax
参数

编辑:根据您自己的建议,
pointplot
在传递axis实例
ax
时起作用

fig = plt.figure(figsize=(8,6))
ax = fig.add_subplot(111)

g = sns.pointplot(x="type", y=outcome, hue="team", order=types, 
                  ci=68.2,data=df_temp, ax=ax)

可能类似于
fig,ax=plt.subplot()
在循环外部定义,然后在同一个ax中绘制所有内容,
ax.plot(…)
在循环内部,但是我不能使用
sns.catplot
对吗?你能以任何方式共享数据,以便我们可以复制该图吗?@amaatouq是的,但我不熟悉sns,可能类似于
fig,ax=plt.subplot()
在循环外部定义,然后在同一个ax中绘制所有内容,
ax.plot(…)
在循环内部,但是我不能使用
sns.catplot
对吗?你能以任何方式共享数据,以便我们可以复制该图吗?@amaatouq是的,但我不熟悉sns,使用
sns.pointplot()
完全按照我想要的方式工作!更新您的答案并删除
kind=“point”,aspect=1.3,我会接受它。使用
sns.pointplot()
完全按照我想要的方式工作!更新您的答案并删除
kind=“point”,aspect=1.3
,我会接受它。