Gráfico de dispersión con histogramas marginales en seaborn

Histogramas marginales con jointplot

Con la función jointplot es inmediato crear un gráfico de dispersión (y otros tipos de gráficos) con histogramas marginales. Tendrás que pasar tus datos a la función para crear la visualización.

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm")

Gráfico de dispersión con histogramas marginales en Python con jointgrid

Una alternativa a la función jointplot es JointGrid, que proporciona mayor flexibilidad, en caso de ser neceasaria. jointgrid es un wrapper de esa función.

import seaborn as sns

df = sns.load_dataset("penguins")

ax = sns.JointGrid(data = df,
                   x = "bill_length_mm",
                   y = "bill_depth_mm")
                   
ax.plot(sns.scatterplot, sns.histplot)

Gráfico de dispersión con histogramas marginales con JointGrid

Agregar una recta de regresión y densidades

La función proporciona un argumento llamado kind que permite seleccionar entre distintos tipos de gráficos. Las posibles opciones son "scatter" (por defecto), "kde", "hist", "hex", "reg" y "resid".

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm",
              kind = "reg") #Agrega recta de regresión y densidades

Gráfico de dispersión con recta de regresión e histogramas marginales con densidades en Python

Símbolos

Los símbolos utilizados para representar las observaciones de un gráfico de dispersión se pueden personalizar con el argumento marker.

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm", 
              marker = "x")

Scatter plot with custom markers and marginal plots in seaborn

Mostrar los ejes de los gráfios marginales

Si quieres que se muestren los ejes de los histogramas marginales puedes establecer el argumento marginal_ticks como True.

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm", 
              marginal_ticks = True)

Agregar ejes a los histogramas marginales en seaborn

Tamaño de los gráficos marginales

Por defecto, el gráfico principal es 5 veces más grande que los gráficos marginales. Puedes cambiar la relación de tamaños con ratio. Ten en cuenta que este argumento solo acepta números enteros.

import seaborn as sns

df = sns.load_dataset("penguins")

# Gráfico de dispersión dos veces más grande que los histogramas
sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm", 
              ratio = 2) 

Cambiar el tamaño del gráfico y de los gráficos marginales en Python

Personalización del color

Personalización del color en la función jointplot de seaborn

Por último, también es posible personalizar los colores. Si quieres que tanto los histogramas como los puntos del gráfico de dispersión tengan el mismo color, pasa el color elegido a color.

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm",
              color = "lavender")

Cambiar el color de los histogramas marginales en seaborn

Sin embargo, si prefieres tener colores diferentes para los histogramas puedes pasar un diccionario al argumento marginal_kws y seleccionar el color que quieras. Ten en cuenta que este argumento también se puede utilizar para personalizar otros argumentos relacionados con los histogramas.

import seaborn as sns

df = sns.load_dataset("penguins")

sns.jointplot(data = df,
              x = "bill_length_mm",
              y = "bill_depth_mm",
              color = "dimgray",
              marginal_kws = dict(color = "lavender"))
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon

También te puede interesar