4

这个来自 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)

碰巧我在图表的右侧有很多空白空间,我想在那里放一个放大的插图以澄清较低的 x 范围。(如果需要,我也可以将图例移出,但这不是重点)

在此处输入图像描述

是否可以单独使用 seaborn 来做到这一点,还是我必须放弃 seaborn 的便利性并将绘图转换为 matplotlib?

4

1 回答 1

9

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.])

在此处输入图像描述

于 2018-09-04T08:17:21.787 回答