Я использую блокнот ipython и пытаюсь использовать следующую функцию для экспорта seaborn distplots. Он отлично работает, если я вызываю функцию и выполняю только одну переменную за раз. Если я вызываю функцию в цикле, она продолжает строить поверх дистрибутива от предыдущего вызова функции.seaborn distplot loop ленивая оценка
Мой желаемый выход будет состоять в том, чтобы функция выводила новый перенос каждый раз, когда он вызывается в цикле. Есть ли способ заставить оценку или новый расклад?
def graph_extraversion (x):
file_name = "extraversion_" + str(x) + ".png"
sns_plot = sns.distplot(Personalities[Personalities.labels1 ==x].extraversion)
sns_plot = sns.distplot(df.extraversion)
fig = sns_plot.get_figure()
fig.savefig(file_name)
new_stat = Personalities[Personalities.labels1 ==x].extraversion.describe()
extraversion_drift = extraversion_median - new_stat[1]
drift = extraversion_drift/extraversion_std
if (drift >= 1) | (drift <= -1):
return "1 std deviation or more"
else:
return "Less than one std deviation"
Это то, что это то, что distplot выглядит как после одного звонка
Это два вызова позже в цикле.
Опять же, это прекрасно работает с одного вызова и исполнения, но когда петельные он продолжает строить.
Вы можете чтобы посмотреть на http://stackoverflow.com/questions/23969619/plotting-with-seaborn-using-the-matplotlib-object-oriented-interface. – mwaskom
Я просмотрел проводку, но есть способ вернуть функцию вызывающему и создать новую фигуру в цикле. –