将存储在两个不同对象中的两个数字保存到两个不同的文件中,而不是相互叠加

问题描述 投票:0回答:1

从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')

我得到的是以下内容:

enter image description here

当我相信我应该得到:

enter image description here enter image description here

我也知道Matplotlib存在一个面向对象的接口,虽然似乎没有人在任何教程中使用它。如果我想为此创建一个配对图,我该怎么做?我所看到的只是f, ax = plt.pairplot(2); ax[0].plot(...);,它似乎与我在Seaborn中可以做的任何事情无关,它会产生我似乎必须分配的情节?

python matplotlib
1个回答
1
投票

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)
© www.soinside.com 2019 - 2024. All rights reserved.