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}
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)
Vertical
Si prefieres un strip plot vertical pasa la variable al argumento y
.
import seaborn as sns
# Strip plot
sns.stripplot(y = variable)
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")
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")
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")
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
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)
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)
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)
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")
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"])
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)
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)
También te puede interesar