Considera el conocido conjunto de datos iris para este tutorial, que contiene cuatro variables numéricas representando el ancho y largo de los pétalos y sépalos de diferentes plantas categorizadas por especies en una quinta variable categórica.
import seaborn as sns
df = sns.load_dataset("iris")
pairplot
Pairs plot por defecto
La función pairplot
de seaborn permite crear gráficos por pares en Python. Tan solo necesitas pasar tu conjunto de datos en long-format, donde cada columna es una variable y cada fila un individuo.
import seaborn as sns
sns.pairplot(df)
Selección de variables
Ten en cuenta que también puedes seleccionar las variables que quieras incluir en la representación con vars
. En caso de que quieras incluir distintas variables para los ejes X e Y puedes utilizar los argumentos x_vars
e y_bars
en su lugar.
import seaborn as sns
sns.pairplot(df, vars = ["petal_length", "petal_width"])
Color por grupo
Si el conjunto de datos con el que estás trabajando contiene una variable categórica que representa grupos puedes pasarla al argumento hue
, de modo que las representaciones gráficas se crearán y colorearán en base a esos grupos.
import seaborn as sns
sns.pairplot(df, hue = "species")
Personalización
Los argumentos plot_kws
y diag_kws
se pueden utilizar para realizar una personalización más avanzada del gráfico pasando diccionarios. Mientras que el primero se usa para modificar los estilos de los gráficos de los paneles inferior y superior, el segundo permite personalizar el estilo de la diagonal.
import seaborn as sns
sns.pairplot(df,
plot_kws = {'color': 'green', 'marker': 's'},
diag_kws = {'color': 'orange'})
Símbolos personalizados para cada grupo
Ten en cuenta que puedes sobrescribir los símbolos por defecto del gráfico de dispersión con el argumento markers
, tal y como se muestra a continuación. Recuerda que puedes pasar una selección de símbolos a esta función.
import seaborn as sns
sns.pairplot(df, hue = "species",
markers = ['d', 'p', 'v'])
Eliminar el panel superior
El argumento corner
es False
por defecto. Si se establece como True
se creará un gráfico triangular eliminando el panel superior del gráfico.
import seaborn as sns
sns.pairplot(df, hue = "species",
corner = True)
Existen varios tipos de gráficos que se pueden crear mediante el argumento kind
. Por defecto, se mostrarán gráficos de dispersión en los paneles con histogramas en la diagonal, pero también puedes seleccionar "kde"
para estimaciones de densidad tipo núcleo, "hist"
para histogramas e histogramas 2D y "reg"
para agregar rectas de regresión sobre las nubes de puntos.
Estimación tipo núcleo
import seaborn as sns
sns.pairplot(df, kind = "kde")
Histogramas 2D
import seaborn as sns
sns.pairplot(df, kind = "hist")
Regresión
import seaborn as sns
sns.pairplot(df, kind = "reg")
Recuerda que también puedes especificar el argumento hue
en estos escenarios, de modo que los datos se representarán y colorearán por grupo.
La diagonal por defecto de pairplot
representa histogramas. Sin embargo, estableciendo el argumento diag_kind
como "kde"
puedes agregar estimaciones de densidad tipo núcleo en lugar de histogramas y estableciendo el argumento como None
mostrará gráficos de dispersión de cada variable frente a si misma (una línea recta), tal y como se muestra en los ejemplos siguientes.
Diagonal con estimaciones de la densidad
import seaborn as sns
sns.pairplot(df, diag_kind = "kde")
Eliminar la diagonal
import seaborn as sns
sns.pairplot(df, diag_kind = None)
También te puede interesar