tutorial examples barplot python plot seaborn

python - examples - Deja de trazar en el mar mĂșltiples figuras una encima de la otra



seaborn tutorial (2)

Crea figuras específicas y trama en ellas:

import seaborn as sns iris = sns.load_dataset(''iris'') length_fig, length_ax = plt.subplots() sns.barplot(x=''sepal_length'', y=''species'', data=iris, ax=length_ax) length_fig.savefig(''ex1.pdf'') width_fig, width_ax = plt.subplots() sns.barplot(x=''sepal_width'', y=''species'', data=iris, ax=width_ax) width_fig.savefig(''ex2.pdf'')

Estoy empezando a aprender un poco de python (estado usando R) para el análisis de datos. Estoy intentando crear dos parcelas utilizando el seaborn , pero sigue guardando el segundo encima del primero. ¿Cómo paro este comportamiento?

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


Tienes que comenzar una nueva figura para hacer eso. Hay varias formas de hacerlo, asumiendo que tienes matplotlib . También deshazte de get_figure() y puedes usar plt.savefig() desde allí.

Método 1

Utilice 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'')

Método 2

Llame a plt.figure() antes de cada uno

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'')