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