Strip plot en seaborn

Datos de muestra

Los siguientes datos serán usados como datos reproducibles de muestra para los códigos de este tutorial. Copia estas líneas para obtener las mismas salidas que las de los ejemplos.

import numpy as np
import seaborn as sns
import random

# Simulación de datos
rng = np.random.RandomState(7)
variable = rng.normal(0.5, 2, size = 250)
random.seed(7)
grupo = random.choices(["G1", "G2", "G3"], k = 250)
grupo2 = random.choices(["A", "B"], k = 250)
df = {'variable': variable, 'grupo': grupo, 'grupo2': grupo2}

Strip plot en seaborn con stripplot

La función stripplot puede usarse para crear strip plots, también llamados strip charts, en Python. Tan solo necesitas pasar la variable de interés a la función.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable)

# Equivalente a:
sns.stripplot(x = "variable", data = df)

Strip plot en Python con seaborn

Vertical

Si prefieres un strip plot vertical pasa la variable al argumento y.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable)

Strip plot vertical en seaborn

Color

Por defecto, el color de las observaciones es azul, pero puedes sobrescribir el color por defecto eligiendo un color con el argumento color.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              color = "darkseagreen")

Cambiar el color de los puntos de un strip plot en seaborn

Borde

Ten en cuenta que también puedes agregar bordes a los símbolos que representan las observaciones, pasando un valor positivo al argumento linewidth de la función.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              linewidth = 1,
              color = "darkseagreen")

Borde de los puntos en stripplot

Símbolo

Los símbolos por defecto son puntos, pero puedes elegir el símbolo que prefieras con el argumento marker, tal y como se muestra a continuación.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              marker = "D")

Cambiar el símbolo (marker) de un strip plot en seaborn

Tamaño y transparencia

También puedes modificar el tamaño y el grado de transparencia de los símbolos, con size y alpha, respectivamente.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              size = 10,   # Tamaño
              alpha = 0.2) # Transparencia

Cambiar el nivel de transparencia y el tamaño de los símbolos en seaborn de un strip plot

Jitter

Por último, el argumento jitter, que por defecto es True, agrega un grado de dispersión óptimo para que se vean todos los puntos. Puedes pasar un valor numérico al argumento para controlar el grado de dispersión o establecerlo como False para que no haya dispersión.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              jitter = False)

Strip plot sin dispersión

Strip plot por grupo

Strip plot por grupo en Python

Si tus datos contienen una variable categórica que represente los grupos en los que se divide la variable numérica también puedes pasarla a la función y crear un strip plot por grupo en Python.

import seaborn as sns

# Strip plot
sns.stripplot(x = variable,
              y = grupo)

Strip chart vertical por grupo en Python with seaborn

Orientación

Ten en cuenta que si pasas la variable numérica a y y la categórica a x crearás un strip plot vertical por grupo.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable,
              x = grupo)

Cambiar la paleta de colores de un strip plot

Paleta de colores

La paleta de colores por defecto se puede modificar con el argumento palette. Puedes pasar el nombre de una paleta de colores o un diccionario con los colores para cada grupo.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable,
              x = grupo,
              palette = "Set1")

Cambiar el orden de los grupos de un strip plot

Orden

Puedes cambiar el orden por defecto de los grupos con order.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable,
              x = grupo,
              order = ["G3", "G2", "G1"])

Strip plot con dos grupos en seaborn

Por grupo y subgrupo

Ten en cuenta que si tienes otra variable categórica puedes pasarla al argumento hue para crear un strip plot por grupo y subgrupo.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable,
              x = grupo,
              hue = grupo2)

Strip plot tipo dodge en Python

Dodge

En el escenario anterior, puedes establecer el argumento dodge como True, de modo que cada subgrupo se muestre separado uno del otro.

import seaborn as sns

# Strip plot
sns.stripplot(y = variable,
              x = grupo,
              hue = grupo2,
              dodge = True)
Data Sketches

A journey of imagination, exploration, and beautiful data visualizations

Comprar en Amazon

También te puede interesar