• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Simulador FIRE (Financial Independence, Retire Early)
    • Herramientas
      • Formateador / Minificador de JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Visualización de datos categóricos en Seaborn

agosto 1, 2023 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

Los datos categóricos también se pueden visualizar mediante gráficos de Seaborn. Algo que es especialmente útil cuando se desea explorar y mostrar los patrones y relaciones que existen entre las variables categóricas de un conjunto de datos. En esta entrada se mostrará algunas de las gráficas que existen para la creación de visualizaciones de datos categóricos en Seaborn.

Tabla de contenidos

  • 1 Conjunto de datos de ejemplo
  • 2 Gráfico de barras
  • 3 Gráfico de conteo
  • 4 Diagrama de caja y bigotes (boxplot)
  • 5 Gráfico de violín
  • 6 Gráfico de dispersión de enjambre (swarmplot)
  • 7 Conclusiones

Conjunto de datos de ejemplo

El conjunto de datos que se utilizará en esta entrada para la creación de las gráficas es tips. En donde recopilan las propinas recibidas en un restaurante en función de datos como el tamaño de la mesa, el día y otros datos de los comensales. Este conjunto de datos se incluye en el paquete Seaborn y se puede importar en un DataFrame de Pandas usando la función load_dataset().

import seaborn as sns

# Cargar el conjunto de datos "tips" de Seaborn
tips = sns.load_dataset("tips")

# Imprimir los últimos registros del conjunto de datos
print(tips.tail())
     total_bill   tip     sex smoker   day    time  size
239       29.03  5.92    Male     No   Sat  Dinner     3
240       27.18  2.00  Female    Yes   Sat  Dinner     2
241       22.67  2.00    Male    Yes   Sat  Dinner     2
242       17.82  1.75    Male     No   Sat  Dinner     2
243       18.78  3.00  Female     No  Thur  Dinner     2

Gráfico de barras

Una de las opciones más habituales para representar datos categóricos son los gráficos de barras. En Seaborn, la función que implementa estos gráficos es barplot(). Pudiendo utilizar esta función para mostrar la relación que existe entre las variables categóricas y numéricas. Por ejemplo, en el conjunto de datos de propinas se puede mostrar la relación entre la factura total (variable numérica) y el día de la semana (variable categórica).

Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
En Analytics Lane
Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane

# Gráfico de barras
sns.barplot(data=tips, x="day", y="total_bill", errorbar=None)
Gráfico de barras con el promedio de la factura en función de día de la semana
Gráfico de barras con el promedio de la factura en función de día de la semana

En este ejemplo lo que se muestra en el eje y es el promedio, el estadístico que se muestra por defecto en esta función de Seaborn, de la factura en función del día de la semana. Observándose como este valor aumenta los sábados y domingos respecto a otros días de la semana. Nótese que, para simplificar la gráfica, se ha eliminado la barra de error que se muestra por defecto.

Si se desea profundizar en las opciones de esta función se puede consultar la entrada sobre las gráficas de barra que se ha publicado en la serie.

Publicidad


Gráfico de conteo

Los gráficos de conteo muestran la frecuencia de cada categoría en un conjunto de datos. Estos gráficos se pueden crear con barplot() usando len como estimador, aunque, dada su importancia, existe una función específica en Seaborn para crearlos: countplot(). Para crear un gráfico de conteo solamente hay que pasar el conjunto de datos y la variable categórica que se desea mostrar.

# Gráfico de conteo
sns.countplot(data=tips, x="day")
Gráfico de conteo con el número de registros en función del día de la semana
Gráfico de conteo con el número de registros en función del día de la semana

En este caso se puede ver el número de registros que hay en base al día de la semana. Observándose en esta ocasión una caída de las visitas el viernes respectó al resto de días.

Diagrama de caja y bigotes (boxplot)

Los diagramas de cajas y bigotes (boxplot) muestran la mediana y el rango intercuartil de los datos categóricos. Este tipo de gráficos son de gran utilidad cuando se desea visualizar la distribución y los valores atípicos de una variable numérica en función de una variable categórica. En Seaborn la función con la que se puede construir este tipo de gráficos es boxplot(). Por ejemplo, se puede ver la evolución de la factura en función del día de la semana.

# Gráfico de boxplot
sns.boxplot(data=tips, x="day", y="total_bill")
Diagrama de caja y bigotes (boxplot) en la que se puede ver la dispersión de la factura en función del día de la semana
Diagrama de caja y bigotes (boxplot) en la que se puede ver la dispersión de la factura en función del día de la semana

Al igual que en la gráfica de barras aquí también se puede observar como la factura media crece los fines de semana, aunque en este caso se pueden ver también los valores atípicos y la distribución de los datos. El fin de semana también parece que hay una mayor variabilidad en cuanto a la cuantía de la factura total.

Gráfico de violín

Los gráficos de violín combinan un gráfico de barras y un gráfico de densidad para representar la distribución de datos categóricos. Seaborn proporciona la función violinplot() para trazar gráficos de violín.

# Gráfico de violín
sns.violinplot(data=tips, x="day", y="total_bill")
Gráfico de violín en la que se puede ver la dispersión de la factura en función del día de la semana
Gráfico de violín en la que se puede ver la dispersión de la factura en función del día de la semana

Estos gráficos muestran un mayor de detalle de la distribución de datos que se observa en la factura total en función del día de la semana.

Publicidad


Gráfico de dispersión de enjambre (swarmplot)

En Seaborn también se pueden encontrar los gráficos de dispersión de enjambre o gráfico de enjambre (swarmplot) que muestra los puntos individuales para cada una de las observaciones de datos categóricos. Distribuyendo estos a lo largo del eje categórico para evitar su superposición. Generando así unas gráficas de dispersión que se asemejan a los gráficos de violín. Estos gráficos se pueden crear con la función swarmplot() indicando el conjunto de datos, la variable categórica y la variable numérica.

# Gráfico de swarmplot
sns.swarmplot(data=tips, x="day", y="total_bill")
Gráfico de dispersión de enjambre en la que se puede ver la dispersión de la factura en función del día de la semana
Gráfico de dispersión de enjambre en la que se puede ver la dispersión de la factura en función del día de la semana

Es importante tener en cuenta que los gráficos de dispersión de enjambre pueden no ser adecuados para conjuntos de datos muy grandes, ya que podría existir una superposición significativa de puntos en el gráfico.

Conclusiones

En esta entrada se han visto algunas de las herramientas que existen para crear visualizaciones de datos categóricos en Seaborn. Para lo que se ha usado gráficos de barra, gráficos de conteo, diagramas de caja y bigotes, gráficos de violín y gráficos de dispersión de enjambre.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 4 / 5. Votos emitidos: 1

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Nuevo simulador FIRE en el laboratorio de aplicaciones de Analytics Lane
  • Nueva calculadora de préstamos e hipotecas en el laboratorio de aplicaciones de Analytics Lane
  • Hardening avanzado de NGINX: CSP, OCSP Stapling y defensa en profundidad
  • Nuevo generador y verificador de hashes en el laboratorio de aplicaciones de Analytics Lane
  • Nueva simulación de la estrategia Martingala en ruleta en el laboratorio de aplicaciones de Analytics Lane
  • Exactitud, precisión, recall… y los errores que cometemos al interpretarlas en proyectos reales
  • Nuevo simulador del problema de Monty Hall en el laboratorio de aplicaciones de Analytics Lane
  • Nuevo simulador interactivo de K-Means en el laboratorio de aplicaciones de Analytics Lane
  • Por qué los chatbots de inteligencia artificial parecen estar siempre de acuerdo contigo – Conversar con una inteligencia artificial – Parte I

Publicado en: Python Etiquetado como: Seaborn

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Nueva herramienta: Comparador y Formateador de Texto y JSON en el laboratorio de Analytics Lane

abril 21, 2026 Por Daniel Rodríguez

Chatbots vs redes sociales: la diferencia clave entre la inteligencia artificial y los algoritmos de recomendación – Conversar con una inteligencia artificial – Parte II

abril 21, 2026 Por Daniel Rodríguez

Nueva Calculadora de Estadísticos Descriptivos en el laboratorio de aplicaciones de Analytics Lane

abril 20, 2026 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Buscar en Excel con dos o más criterios publicado el septiembre 7, 2022 | en Herramientas
  • Gráfica con los datos y las anomalías detectadas con OneClass SVM One-Class SVM: Detección de anomalías con máquinas de vector soporte publicado el marzo 15, 2024 | en Ciencia de datos
  • Método del codo (Elbow method) para seleccionar el número óptimo de clústeres en K-means publicado el junio 9, 2023 | en Ciencia de datos
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python
  • La similitud de Jaro–Winkler publicado el junio 24, 2020 | en Ciencia de datos, R

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.9 (11)

Pandas: Cambiar los tipos de datos en los DataFrames

Comentarios recientes

  • M. Pilar en Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2026 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto