seaborn distplot循环惰性评估

2024-05-21 07:49:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用ipython笔记本,并尝试使用以下函数导出seaborn distplots。如果我一次只使用一个变量调用函数并执行,它就可以正常工作了。如果我在循环中调用函数,它将继续在上一个函数调用的distplot之上构建。在

我想要的输出是函数每次在循环中被调用时都输出一个新的dispot。有没有一种方法可以强制评估或新的距离图?在

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在一次呼叫后的样子

enter image description here

这是一个循环中稍后的两个调用。在

enter image description here

同样,这种方法只需要一次调用和执行就可以了,但是当循环时,它会继续构建。在


Tags: 方法函数namenewplotfigfilestd