Можно ли сделать "зум-вставку" с помощью seaborn?

Этот пример из matplotlib показывает, как сделать вставку. Однако я работаю с Seaborn, в частности с Kdeplot.

sns.kdeplot(y, label='default bw')
sns.kdeplot(y, bw=0.5, label="bw: 0.2", alpha=0.6)
sns.kdeplot(y, linestyle="--", bw=2, label="bw: 2", alpha=0.6)
sns.kdeplot(y, linestyle=":", bw=5, label="bw: 5", alpha=0.6)

Так получилось, что у меня много свободного пространства с правой стороны графика, и я хотел бы поместить там увеличенную вставку, чтобы уточнить нижний диапазон х. (При необходимости я мог бы также убрать легенду, но это не главное)

введите описание изображения здесь

Можно ли сделать это с одним морским рожком, или я должен отказаться от удобства морского рожка и преобразовать графики в matplotlib?

1 ответ

Решение

seaborn - это просто оболочка для matplotlib, вам не нужно выбирать одно или другое. В вашем случае вы можете поручить sns.distplot() использовать любой объект Axes, который вы хотите, используя ax= параметр

Следовательно:

fig, ax = plt.subplots()
sns.distplot(d, ax=ax)

ax2 = plt.axes([0.2, 0.6, .2, .2], facecolor='y')
sns.distplot(d, ax=ax2)
ax2.set_title('zoom')
ax2.set_xlim([0.9,1.])

введите описание изображения здесь

Другие вопросы по тегам