本文介绍了Seaborn重制版创建重复的轴的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试创建两个情节-一个与seaborn一起在另一个情节下!
我的代码:

I'am trying to create two plots - one under another with seaborn!
My code:

fig, (ax1, ax2) = plt.subplots(nrows=2, sharex=True, figsize=(22,8))
p1 = sns.relplot(x="sns_codes", y="triad_quantity", hue="label", data=data_2, kind="line", ax=ax1)
p2 = sns.relplot(x="sns_codes", y="triad_quantity", hue="label", data=data_2, kind="line", ax=ax2)

但这会创建 4 个轴而不是 2 个!看:

But this creates 4 axes instead of 2! Look:

我放弃阅读这两个额外的轴-需要帮助.
这是创建数据的代码:

I give up getting read of these extra 2 axeses - need help.
Here's code to create data:

df ={'label': {0: 'top_5',
  1: 'first_page',
  2: 'win_ratecard',
  4: 'switched_off',
  5: 'top_5',
  6: 'first_page',
  7: 'win_ratecard',
  9: 'switched_off',
  10: 'top_5',
  11: 'first_page'},
 'report_date': {0: Timestamp('2018-08-21 00:00:00'),
  1: Timestamp('2018-08-21 00:00:00'),
  2: Timestamp('2018-08-21 00:00:00'),
  4: Timestamp('2018-08-22 00:00:00'),
  5: Timestamp('2018-08-22 00:00:00'),
  6: Timestamp('2018-08-22 00:00:00'),
  7: Timestamp('2018-08-22 00:00:00'),
  9: Timestamp('2018-08-23 00:00:00'),
  10: Timestamp('2018-08-23 00:00:00'),
  11: Timestamp('2018-08-23 00:00:00')},
 'sns_codes': {0: 0, 1: 0, 2: 0, 4: 1, 5: 1, 6: 1, 7: 1, 9: 2, 10: 2, 11: 2},
 'triad_quantity': {0: 9,
  1: 204,
  2: 214,
  4: 20,
  5: 5,
  6: 191,
  7: 230,
  9: 21,
  10: 2,
  11: 98}}
 data_2 = pd.DataFrame(df)

推荐答案

以下是摆脱额外不需要的空图的可能解决方案.问题是当你调用 sns.relplot 时,relplot 返回一个 class:FacetGrid 对象.可以在此处看到.但是,由于您传递了 ax1 ax2 进行绘图,因此这些分配了变量 p1 p2 的FacetGrid出现为空白地块.要摆脱这些,只需添加以下几行

Below is a possible solution to get rid of the additional unwanted empty plots. The problem was that when you call sns.relplot, relplot returns a class:FacetGrid object. This can be seen here. But since you pass ax1 and ax2 for plotting, these FacetGrids which are assigned the variables p1 and p2 appear as blank plots. To get rid of these just add the following lines

plt.close(p1.fig)
plt.close(p2.fig) 

这篇关于Seaborn重制版创建重复的轴的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 14:24