Есть ли ограничение на кэтплот с субплотом? - PullRequest
1 голос
/ 27 июня 2019

Catblot Seaborn не может работать с plt.subplots (). Я не уверен, в чем здесь проблема, но я не могу поставить их рядом.

#Graph 1
plt.subplot(121)
sns.catplot(x="HouseStyle",y="SalePrice",data=df,kind="swarm")

#Graph 2
plt.subplot(122)
sns.catplot(x="LandContour",y="SalePrice",data=df,kind="swarm")

Выход: Weird no output Weird no output2 Finally output

1 Ответ

2 голосов
/ 27 июня 2019

Вам нужно передать созданную ось в catplot Морского Моря во время построения.Ниже приведен пример ответа, демонстрирующего это.Пара вещей

  • Я бы предложил использовать add_subplot для создания подзаговоров, подобных вашему
  • . catplot по-прежнему будет возвращать объект оси, который можно закрыть с помощью plt.close(), гдечисло в скобках соответствует количеству фигур.См. этот ответ для получения более подробной информации о close()

Полный воспроизводимый ответ

import seaborn as sns
import matplotlib.pyplot as plt

exercise = sns.load_dataset("exercise")

fig = plt.figure()

ax1 = fig.add_subplot(121)
g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise, ax=ax1) # pass ax1

ax2 = fig.add_subplot(122)
g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise, ax=ax2) # pass ax2

plt.close(2)
plt.close(3)
plt.tight_layout()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...