Considera los siguientes datos a modo de ejemplo:
import numpy as np
import pandas as pd
# Simulación de datos
rng = np.random.RandomState(0)
df = pd.DataFrame(rng.normal(size = (100, 4)),
columns = ["A", "B", "C", "D"])
scatter_matrix
Una matriz de dispersión (o SPLOM) dibuja cada par de columnas numéricas una contra otra, lo que permite inspeccionar rápidamente la correlación y la distribución de varias variables a la vez. La función scatter_matrix está en pandas.plotting y se construye sobre matplotlib, así que acepta un data frame directamente.
import pandas.plotting as pdp
import matplotlib.pyplot as plt
pdp.scatter_matrix(df)
# plt.show()

Diagonal
Por defecto la diagonal muestra un histograma de cada variable. Fija diagonal = "kde" para mostrar en su lugar una estimación de densidad tipo núcleo.
import pandas.plotting as pdp
import matplotlib.pyplot as plt
pdp.scatter_matrix(df, diagonal = "kde")
# plt.show()

Marcadores y transparencia
Cambia la forma del marcador con marker y su transparencia con alpha, útil para detectar puntos solapados.
import pandas.plotting as pdp
import matplotlib.pyplot as plt
pdp.scatter_matrix(df, marker = "o", alpha = 0.4)
# plt.show()

scatter_matrix reenvía los argumentos adicionales a las llamadas internas de scatter, así que pasa un array de colores a c para colorear los puntos por grupo.
import pandas.plotting as pdp
import matplotlib.pyplot as plt
import numpy as np
grupo = np.where(df["A"] > 0, "#4C72B0", "#C44E52")
pdp.scatter_matrix(df, c = grupo)
# plt.show()

También te puede interesar