是否可以在Jupyter笔记本中抑制Matplotlib / Seaborn输出?

时间:2020-05-28 13:26:47

标签: matplotlib seaborn jupyter heatmap suppress

全部-寻求一些指导(如果有),以帮助解决这个令人沮丧的问题。

我正在定义一个函数,该函数使用Seaborn的带注释的热图来创建相关矩阵。该函数运行良好,但是,在运行该函数时无需调用它即可自动生成Seaborn输出。

我希望抑制此输出,并且仅在稍后调用关联矩阵时才在笔记本中生成它,就像处理数据框,其他图形等一样。

有解决方案吗?到目前为止,我已经尝试将分号,put.ioff()和不同的赋值添加到图形/轴对象。老实说,我不确定这是Seaborn问题还是与Matplotlib有关的问题。也许可以用其他方式编写函数来减轻此限制?

下面的代码。非常感谢您对此提供的任何帮助。

# cormat is a correlation matrix

import matplotlib.pyplot as plt

def correl_heatmap(cormat):
    _f01, ax = plt.subplots(figsize=(cormat.shape[0], cormat.shape[0]));
    sns.heatmap(cormat,
                vmin=-1, vmax=1, center=0, square=True, 
                annot=True, cmap='coolwarm_r', cbar_kws={'shrink': 0.8}, ax=ax);
    ax.set_xticklabels(ax.get_xticklabels(),
                       rotation=90,
                       horizontalalignment='center');
    ax.set_yticklabels(ax.get_yticklabels(),
                       rotation=90,
                       verticalalignment='center');
    return _f01



_f01 = correl_heatmap(cormat)
_f01

1 个答案:

答案 0 :(得分:0)

要取消显示此输出,请为返回对象分配一个名称:

_ = plt.plot(A)

plot(A);