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"])
df["grupo"] = np.where(df["A"] > 0, "G1", "G2")
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. Pasa un data frame a px.scatter_matrix y cada columna numérica se convierte en una dimensión por defecto.
import plotly.express as px
fig = px.scatter_matrix(df)
fig.show()
Seleccionar las dimensiones
Pasa una lista a dimensions para elegir qué columnas incluir y en qué orden, útil para excluir columnas como un identificador.
import plotly.express as px
fig = px.scatter_matrix(df, dimensions = ["A", "B", "C"])
fig.show()
Mapea una columna categórica a color para distinguir grupos en todos los paneles de la matriz a la vez.
import plotly.express as px
fig = px.scatter_matrix(df, dimensions = ["A", "B", "C", "D"],
color = "grupo")
fig.show()
Tamaño y opacidad de los marcadores
Ajusta el tamaño y la transparencia de los marcadores directamente con update_traces, útil cuando muchos puntos se solapan.
import plotly.express as px
fig = px.scatter_matrix(df, dimensions = ["A", "B", "C", "D"],
color = "grupo")
fig = fig.update_traces(marker = dict(size = 4, opacity = 0.7))
fig.show()
Ocultar la diagonal
Por defecto la diagonal repite cada variable contra sí misma, algo poco informativo. Ocúltala con diagonal_visible = False a través de update_traces.
import plotly.express as px
fig = px.scatter_matrix(df, dimensions = ["A", "B", "C", "D"],
color = "grupo")
fig = fig.update_traces(diagonal_visible = False)
fig.show()
También te puede interesar