代码之家  ›  专栏  ›  技术社区  ›  user1563247

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

  •  1
  • user1563247  · 技术社区  · 8 年前

    当我使用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 回复  |  直到 8 年前
        1
  •  0
  •   ImportanceOfBeingErnest    8 年前

    因为 seaborn.lmplot 创建自己的图形,并在 plt.figure(5) 创建时,lmplot如下图所示。由于没有为 plt。图(5) ,此数字将保持为空。

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

    作为参考,seaborn API中“轴网格”下列出的图 documentation 将创建自己的图形:

    FacetGrid, 工厂批次, lmplot, PairGrid, 成对地块, 连接网格, 接头批次。