Stop seaborn plotting multiple figures on top of one another

前端 未结 3 651
太阳男子
太阳男子 2020-12-23 20:21

I\'m starting to learn a bit of python (been using R) for data analysis. I\'m trying to create two plots using seaborn, but it keeps saving the second on top of

3条回答
  •  囚心锁ツ
    2020-12-23 21:06

    You have to start a new figure in order to do that. There are multiple ways to do that, assuming you have matplotlib. Also get rid of get_figure() and you can use plt.savefig() from there.

    Method 1

    Use plt.clf()

    import seaborn as sns
    import matplotlib.pyplot as plt
    
    iris = sns.load_dataset('iris')
    
    length_plot = sns.barplot(x='sepal_length', y='species', data=iris)
    plt.savefig('ex1.pdf')
    plt.clf()
    width_plot = sns.barplot(x='sepal_width', y='species', data=iris)
    plt.savefig('ex2.pdf')
    

    Method 2

    Call plt.figure() before each one

    plt.figure()
    length_plot = sns.barplot(x='sepal_length', y='species', data=iris)
    plt.savefig('ex1.pdf')
    plt.figure()
    width_plot = sns.barplot(x='sepal_width', y='species', data=iris)
    plt.savefig('ex2.pdf')
    

提交回复
热议问题