Как убрать текстовый вывод при вызове графика в Pandas

При выполнении кода

df = pd.DataFrame(np.random.randn(1000, 4), columns=['A','B','C','D'])
pd.plotting.scatter_matrix(df, alpha=0.2)

помимо графика выводится матрица:

array([[<Axes: xlabel='A', ylabel='A'>, <Axes: xlabel='B', ylabel='A'>,
                <Axes: xlabel='C', ylabel='A'>, <Axes: xlabel='D', ylabel='A'>],
               [<Axes: xlabel='A', ylabel='B'>, <Axes: xlabel='B', ylabel='B'>,
                <Axes: xlabel='C', ylabel='B'>, <Axes: xlabel='D', ylabel='B'>],
               [<Axes: xlabel='A', ylabel='C'>, <Axes: xlabel='B', ylabel='C'>,
                <Axes: xlabel='C', ylabel='C'>, <Axes: xlabel='D', ylabel='C'>],
               [<Axes: xlabel='A', ylabel='D'>, <Axes: xlabel='B', ylabel='D'>,
                <Axes: xlabel='C', ylabel='D'>, <Axes: xlabel='D', ylabel='D'>]],
              dtype=object)

Подскажите, пожалуйста, как убрать эту часть, чтобы остался только график на выводе? И как на этом графике включить сетку? В документации написано grid=True, но сетка все равно не появляется, хотя на других, например, hist, сетка работает.


Ответы (2 шт):

Автор решения: diasporx

Если я правильно понял, то можно после вызова добавить plt.show()

 pd.plotting.scatter_matrix(df, alpha=0.2)
 # Отображение графика и скрытие дополнительного вывода
 plt.show()
→ Ссылка
Автор решения: strawdog

Либо поставьте ; после pd.plotting.scatter_matrix(df, alpha=0.2), либо присвойте эту строку переменной: res = pd.plotting.scatter_matrix(df, alpha=0.2) (лучше - второй вариант) - тогда удастся избежать вывода текста с матрицей.
По поводу сетки: строить графики напрямую методами pandas - не очень хорошая идея с точки зрения стилизации. Воспользуйтесь либо matplotlib напрямую, либо seaborn:

import pandas as pd
import numpy as np
import seaborn as sns
df = pd.DataFrame(np.random.randn(1000, 4), columns=['A','B','C','D'])
sns.set_style("whitegrid") # устанавливаем сетку
res = sns.pairplot(df)

введите сюда описание изображения

→ Ссылка