使用seaborn时在python中创建的空白图

时间:2018-02-05 10:08:59

标签: python-3.x matplotlib seaborn

当我使用seaborn在Python中绘制情节时,我有时会在我想要的情节之间得到一个空白的情节。我的数据是一个简单的数据帧(代码中未显示)。当我创建图3时,它正确显示,如图4所示,但图5是空白的,我认为应该在图6中的图5中绘制图。我在Spyder IDE中使用Python 3.6。

为什么会出现一个空白的数字窗口?

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns    

plt.figure(3)
fig = sns.countplot(data=df, x=df['month'], hue=df['reasons'])
plt.show()

plt.figure(4)
fig = byMonth['twp'].plot()
plt.show()

plt.figure(5)
fig = sns.lmplot(x='new_ind', y='title', data=byMonth)
plt.show()

1 个答案:

答案 0 :(得分:0)

因为seaborn.lmplot创建了自己的数字,并且在创建plt.figure(5)之后这样做,所以lmplot会在下图中显示。由于没有任何内容分配给plt.figure(5),因此该数字将保持为空。

解决方案是删除plt.figure(5),因为不需要这个额外的数字。

作为参考,seaborn API documentation中“Axis Grids”下列出的那些图将创建他们自己的数字:

FacetGrid, factorplot, lmplot, PairGrid, pairplot, JointGrid, jointplot。