Gráfico de cajas (Box Plot) en seaborn

Datos de muestra

Copia el siguiente código para obtener los datos que se utilizarán en los ejemplos de este tutorial.

import numpy as np
import seaborn as sns
import random

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

Gráfico de cajas en seaborn con la función boxplot

Pasando una variable numérica al argumento x de la función boxplot puedes crear un gráfico de cajas y bigotes en seaborn. Ten en cuenta que tus datos pueden ser una variable o una columna de un data frame.

import seaborn as sns

# Box plot
sns.boxplot(x = variable)

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

Box plot en Python con seaborn

Vertical

Si prefieres un gráfico de cajas vertical tendrás que pasar tus datos al argumento y en lugar de a x.

import seaborn as sns

# Box plot
sns.boxplot(y = variable)

Box plot vertical en seaborn

Color de fondo de la caja

El color de la caja es por defecto azul, pero puedes elegir cualquier otro color con el argumento color de la función.

import seaborn as sns

# Box plot
sns.boxplot(x = variable,
            color = "orange")

Color de la caja de un box plot en seaborn

Personalización avanzada

Recuerda que la función proporciona argumentos adicionales para personalizar el gráfico. Algunos de ellos se destacan en el siguiente bloque de código.

import seaborn as sns

# Box plot
sns.boxplot(x = variable,
            fliersize = 10, # Tamaño de los atípicos
            linewidth = 3,  # Grosor de las líneas
            saturation = 0.95) # Saturación del color

Personalización avanzada de un gráfico de cajas en seaborn

Box plot por grupo en seaborn

Box plot por grupo en Python

Box plot por grupo

Si pasas una variable categórica y una numérica a la función puedes crear un gráfico de cajas por grupo. En caso de que quieras crear un box plot por grupo horizontal pasa la variable numérica a x y la categórica a y.

import seaborn as sns

# Box plot por grupo
sns.boxplot(x = variable,
            y = grupo)

Box plot vertical por grupo en Python

Orientación

Si prefieres un gráfico de cajas vertical por grupo intercambia los argumentos, tal y como se muestra en el siguiente ejemplo.

import seaborn as sns

# Box plot por grupo
sns.boxplot(y = variable,
            x = grupo)

Orden de los grupos de un box plot en Python

Orden

Ten en cuenta que el argumento order controla el orden de los grupos. Si quieres cambiar el orden por defecto (que se basa en el orden de apariencia de los grupos en la variable) pasa una lista al argumento con el orden deseado.

import seaborn as sns

# Box plot por grupo
sns.boxplot(y = variable,
            x = grupo,
            order = ["G1", "G2", "G3"])

Box plot color palette in seaborn

Paleta de colores

El argumento palette controla los colores de los box plots. Puedes pasar una paleta de colores predefinida, como en el ejemplo siguiente, o un diccionario con los colores para cada grupo.

import seaborn as sns

# Box plot por grupo
sns.boxplot(y = variable,
            x = grupo,
            palette = "Set3")

Box plot por subgrupo usando hue en seaborn

Box plot por grupo y subgrupo

Por último, si pasas otra variable categórica a la función pero al argumento hue, puedes crear un box plot por grupo y subgrupo.

import seaborn as sns

# Box plot por grupo
sns.boxplot(y = variable,
            x = grupo,
            hue = grupo2)
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon

También te puede interesar