Seaborn的猫形图似乎无法与plt.subplots()一起使用。我不确定这里的问题是什么,但我似乎无法将它们放在一起。

#Graph 1
plt.subplot(121)
sns.catplot(x="HouseStyle",y="SalePrice",data=df,kind="swarm")

#Graph 2
plt.subplot(122)
sns.catplot(x="LandContour",y="SalePrice",data=df,kind="swarm")

输出:
python - catplot和subplot有限制吗?-LMLPHP
python - catplot和subplot有限制吗?-LMLPHP
python - catplot和subplot有限制吗?-LMLPHP

最佳答案

在绘制时,您需要将创建的轴传递给seaborn的catplot。以下是一个演示此问题的示例答案。几件事

  • 我建议使用add_subplot创建像您的
  • 一样的子图
  • catplot仍将返回一个轴对象,可以使用plt.close()将其关闭,其中括号内的数字对应于图形数。有关close()的更多详细信息,请参见this answer


    完成可重复的答案
    import seaborn as sns
    import matplotlib.pyplot as plt
    
    exercise = sns.load_dataset("exercise")
    
    fig = plt.figure()
    
    ax1 = fig.add_subplot(121)
    g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise, ax=ax1) # pass ax1
    
    ax2 = fig.add_subplot(122)
    g = sns.catplot(x="time", y="pulse", hue="kind", data=exercise, ax=ax2) # pass ax2
    
    plt.close(2)
    plt.close(3)
    plt.tight_layout()
    

    python - catplot和subplot有限制吗?-LMLPHP

    关于python - catplot和subplot有限制吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56788245/

  • 10-12 07:11