Gráfico de densidad en seaborn con kdeplot

Gráfico de densidad tipo núcleo en seaborn con kdeplot

La función kdeplot de seaborn calcula la estimación tipo núcleo de la densidad de los datos y la dibuja. Por defecto la función utiliza un núcleo normal, 200 puntos como grid para el eje X y un factor multiplicativo de la ventana calculada por el método de Scott de 1.

import numpy as np
import seaborn as sns

# Simulación de datos
rng = np.random.RandomState(4)
x = rng.normal(0, 1, size = 100)
df = {'x': x}

# Gráfico de densidad
sns.kdeplot(x = x)

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

Gráfico de densidad en Python coh seaborn

Es posible modificar el color por defecto de la curva de densidad con el argumento color de la función. Ten en cuenta que también podrías modificar el tipo de línea y su grosor con los argumentos linestyle y linewidth, respectivamente.

import numpy as np
import seaborn as sns

# Simulación de datos
rng = np.random.RandomState(4)
x = rng.normal(0, 1, size = 100)

# Gráfico de densidad
sns.kdeplot(x = x, color = "red")

Cambiar el color de un gráfico de densidad en seaborn con kdeplot

Además, también puedes colorear el área debajo de la curva de densidad con fill = True y especificar el color y la transparencia deseada con color y alpha, respectivamente.

import numpy as np
import seaborn as sns

# Simulación de datos
rng = np.random.RandomState(4)
x = rng.normal(0, 1, size = 100)

# Gráfico de densidad
sns.kdeplot(x = x,
            fill = True, color = "green", alpha = 0.5)

Colorear el área debajo de la curva de densidad en seaborn

Selección de la ventana

Tal y como se indicó antes, la función utiliza un factor multiplicativo de 1 para la ventana (bandwidth) óptima calculada con el método de Scott, pero puedes sobrescribirlo con el argumento bw_adjust. También puedes usar el método de Silverman en lugar del de Scott con el argumento bw_method. Mira esta documentación para obtener detalles adicionales.

Selección de la ventana en kdeplot

import numpy as np
import seaborn as sns

# Simulación de datos
rng = np.random.RandomState(4)
x = rng.normal(0, 1, size = 100)

# Gráfico de densidad
sns.kdeplot(x = x,
            bw_adjust = 0.5)

Método de Silverman para seleccionar ventana en seaborn

Método de Silverman

import numpy as np
import seaborn as sns

# Simulación de datos
rng = np.random.RandomState(4)
x = rng.normal(0, 1, size = 100)

# Gráfico de densidad
sns.kdeplot(x = x,
            bw_method = "silverman")

La selección de kernels no normales se eliminó en la versión 0.11.0 de seaborn.

Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon

También te puede interesar