Ну, это не правда. Вы действительно можете передавать объекты оси в relplot
. Ниже приведен минимальный ответ. Ключевым моментом здесь является закрытие объектов пустой оси , возвращаемых relplot
. Затем вы также можете использовать ax[0]
или ax[1]
, чтобы добавить дополнительные кривые к вашим индивидуальным подфигурам так же, как вы сделали бы с matplotlib
.
import seaborn as sns
import matplotlib.pyplot as plt
fig, ax = plt.subplots(2)
xdata = np.arange(50)
sns.set(style="ticks")
tips = sns.load_dataset("tips")
g1 = sns.relplot(x="total_bill", y="tip", hue="day", data=tips, ax=ax[0])
g2 = sns.relplot(x="total_bill", y="tip", hue="day", data=tips, ax=ax[1])
# Now you can add any curves to individual axis objects
ax[0].plot(xdata, xdata/5)
# You will have to close the additional empty figures returned by replot
plt.close(g1.fig)
plt.close(g2.fig)
plt.tight_layout()
Вы также можете создать линейный сюжет, используя seaborn
как
import seaborn as sns
import numpy as np
x = np.linspace(0, 5, 100)
y = x**2
ax = sns.lineplot(x, y)
ax.set_xlabel('x-label')
ax.set_ylabel('y-label')