将存储在两个不同对象中的两个图形保存到两个不同的文件中,而不必彼此叠加

时间:2019-05-01 18:34:12

标签: python matplotlib

我从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中不能做的任何事情交接,从而生成了我似乎必须分配的地块?

1 个答案:

答案 0 :(得分:1)

<mat-accordion *ngIf="products$" class='product-accordion'> <mat-expansion-panel *ngFor="let product of products$ | async"> <mat-expansion-panel-header> SKU: {{ product.sku }} </mat-expansion-panel-header> <p>${{ product.price }}</p> <p>{{ product.description }}</p> </mat-expansion-panel> </mat-accordion> 创建一个新图形。

plt.figure()

如果您觉得这不能给您足够的控制,则可以创建轴以绘制并提供给seaborn

plt.figure()
axsp0 = sns.distplot(c...)
plt.figure()
axsp1 = sns.distplot(p...)