Можно ли подавить вывод Matplotlib / Seaborn в блокноте Jupyter? - PullRequest
0 голосов
/ 28 мая 2020

Все - обращение за указаниями, если таковые имеются, чтобы помочь решить эту несколько неприятную проблему.

Я определяю функцию, которая создает корреляционную матрицу с использованием аннотированной тепловой карты Seaborn. Функция работает нормально, однако вывод Seaborn создается автоматически при запуске функции без необходимости его вызова.

I wi sh, чтобы подавить этот вывод и произвести его позже в записной книжке при вызове матрица корреляции, как вы бы сделали с фреймом данных, другим графиком и т. д. c.

Какие-нибудь решения? До сих пор я пробовал добавлять точки с запятой, 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 голосов
/ 28 мая 2020

Чтобы подавить этот вывод, присвойте возвращаемому объекту имя:

_ = plt.plot(A)

или

plot(A);
...