从Seaborn我生成两个独立的AxesSubplots。然后我分别从这两个子图中得到数据。我希望如果没有调用某种方法可以让他们这样做,那么两个对象就不会神奇地相互干扰。为什么这个坏了?
axsp0 = sns.distplot(cas_brs_min['dist'].dropna())
axsp1 = sns.distplot(pd.Series(np.log(cas_brs_min['dist'].dropna()), name='log(dist)'))
axsp0.get_figure().savefig('hist_dist.png')
axsp1.get_figure().savefig('hist_log_dist.png')
我得到的是以下内容:
当我相信我应该得到:
我也知道Matplotlib存在一个面向对象的接口,虽然似乎没有人在任何教程中使用它。如果我想为此创建一个配对图,我该怎么做?我所看到的只是f, ax = plt.pairplot(2); ax[0].plot(...);
,它似乎与我在Seaborn中可以做的任何事情无关,它会产生我似乎必须分配的情节?
plt.figure()
创造了一个新的人物。
plt.figure()
axsp0 = sns.distplot(c...)
plt.figure()
axsp1 = sns.distplot(p...)
如果您认为这不能给您足够的控制,您可以创建绘制的轴并将其提供给seaborn
fig0, ax0 = plt.subplots()
axsp0 = sns.distplot(c..., ax=ax0)
fig1, ax1 = plt.subplots()
axsp1 = sns.distplot(p..., ax=ax1)