在我的网格布局中绘制到许多坐标系而不是使用 seaborn 和 matplotlib 绘制

Plotting to many coordinate systems in my grid-layout then plotting with seaborn and mathplotlib

多剧情排版麻烦

尝试通过使用 mathplotlib 作为网格布局并使用 Seaborn 来绘制 3 个并排的图形。问题是我得到了很多地块,3 个完美一次 + 3 个空坐标系。

我试过的

问题来自将 seaborn plot-lib 与 matplotlib 混合使用。

  1. 测试:是代码示例和图片看到的"My result"
  2. 测试:如果从 seaborn 图中删除 "ax=axarr[x]",则结果会切换,因此前三张图是空的,最后三张是填充的,正如预期的那样。
fig, axarr = plt.subplots(1, 3, figsize=(20, 6))
sns.catplot(x='weekday', kind='count', palette="ch:.25", data=df_total, ax=axarr[2])
sns.catplot(x='month', kind='count', palette="ch:.25", data=df_total, ax=axarr[1])
sns.catplot(x='year', kind='count', palette="ch:.25", data=df_total, ax=axarr[0])

我的结果:

我想达到的目标:

使用countplot而不是catplot:

n = 365*10
df_total = pd.DataFrame({'date':pd.date_range(start='2009/1/1', periods=n, freq='D'),
                        'x':np.random.randn(n)})

df_total = df_total.sample(500)
df_total['weekday'] = df_total['date'].dt.weekday
df_total['month'] = df_total['date'].dt.month
df_total['year'] = df_total['date'].dt.year

#fig, axarr = plt.subplots(1, 3, figsize=(20, 6))
#sns.catplot(x='weekday', kind='count', palette="ch:.25", data=df_total, ax=axarr[2])
#sns.catplot(x='month', kind='count', palette="ch:.25", data=df_total, ax=axarr[1])
#sns.catplot(x='year', kind='count', palette="ch:.25", data=df_total, ax=axarr[0])

fig, axarr = plt.subplots(1, 3, figsize=(12, 4))
sns.countplot(x='weekday', palette="ch:.25", data=df_total, ax=axarr[2])
sns.countplot(x='month', palette="ch:.25", data=df_total, ax=axarr[1])
sns.countplot(x='year', palette="ch:.25", data=df_total, ax=axarr[0])
plt.show()