• 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
  • Herramientas
    • Método D’Hondt – Atribución de escaños
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

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

Creación de gráficos de barras y gráficos de columnas con Seaborn

julio 18, 2023 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 6 minutos

Los gráficos de barras y los gráficos de columnas son una forma altamente efectiva de visualizar datos categóricos. Permitiendo comparar los valores asociados a cada categoría. Seaborn, una de las principales bibliotecas de visualización de datos en Python, ofrece varias funciones para crear este tipo de gráficos. En esta entrada, se mostrará las principales opciones que existen para crear gráficos de barras y gráficos de columnas con Seaborn. Se mostrará cómo representar variables categóricas en el eje x, valores numéricos en el eje y, y personalizar los gráficos para resaltar la información clave.

Tabla de contenidos

  • 1 Carga de datos de ejemplo
  • 2 Creación de gráficos de barras
  • 3 Creación de gráficos de columnas
  • 4 Personalización de gráficos de barras y gráficos de columnas con Seaborn
    • 4.1 Cambiar los colores de las barras o columnas
    • 4.2 Agregar etiquetas a las barras o columnas
    • 4.3 Ajustar el tamaño de las barras o columnas
    • 4.4 Mostrar otros estadísticos en las barras o columnas
  • 5 Conclusiones

Carga de datos de ejemplo

Antes de poder crear gráficos de barras o gráficos de columnas con Seaborn, es necesario importar un conjunto de datos en un DataFrame de Pandas. Para hacer más fácil que cualquier lector pueda repetir los ejemplos se utilizará el conjunto de datos “tips” que viene con Seaborn. Este conjunto de datos contiene información sobre propinas en un restaurante. Para cargarlo en un DataFrame de Pandas se puede utilizar el siguiente código.

import seaborn as sns

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

# Imprimir los primeros registros del conjunto de datos
print(tips_data.head())
   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4

Publicidad


Creación de gráficos de barras

Los gráficos de barras son ideales para mostrar los valores asociados con diferentes categorías de datos. La función para crear este tipo de gráficos Seaborn es barplot(). Una función que necesita los datos en un DataFrame de Pandas, indicado mediante el parámetro data, la variable categórica, iniciada mediante el parámetro x, y los valores que se desean mostrar, lo que se indica mediante el parámetro y. Para crear una gráfica de barras en la que se muestre el promedio de la columna total_bill para cada uno de los días se la semana (variable days) se puede usar el siguiente código.

Correlación y causalidad: no es lo mismo
En Analytics Lane
Correlación y causalidad: no es lo mismo

import matplotlib.pyplot as plt

# Crear un gráfico de barras de la columna "day" y "total_bill" promedio
sns.barplot(data=tips_data, x='day', y='total_bill', errorbar=None)

# Mostrar el gráfico
plt.show()
Gráfico de barras creado con Seaborn
Gráfico de barras creado con Seaborn

Como se explicó en la introducción de esta serie, los gráficos de barras muestran por defecto el promedio de la variable indicada y agregan a cada una de las barras una línea con el error. Para evitar que se muestre esta línea se debe indicar mediante el parámetro errorbar asignando el valor None.

Creación de gráficos de columnas

Los gráficos de columnas son similares a los gráficos de barras, pero muestran las barras de manera horizontal en lugar de vertical. Para conseguir estas gráficas en Seaborn también se tiene que utilizar la función barplot() pero usando la propiedad orient para indicar que la orientación debe ser horizontal con el valor 'horizontal'. Así, se puede repetir la gráfica anterior como un gráfico de columnas simplemente agregando esta propiedad como se muestra a continuación.

# Crear un gráfico de columnas de la columna "day" y "total_bill" promedio
sns.barplot(data=tips_data, y='day', x='total_bill', orient='horizontal', errorbar=None)

# Mostrar el gráfico
plt.show()
Gráfico de columnas creado con Seaborn
Gráfico de columnas creado con Seaborn

Publicidad


Personalización de gráficos de barras y gráficos de columnas con Seaborn

Seaborn ofrece una amplia gama de opciones de personalización para adaptar los gráficos de barras y gráficos de columnas a las necesidades de todos los usuarios. Es posible ajustar los colores, agregar etiquetas, cambiar los estilos, entre otras opciones.

Cambiar los colores de las barras o columnas

Es posible personalizar los colores de las barras o columnas utilizando la opción palette en la función barplot(). Por ejemplo, puedes utilizar una paleta de colores predefinida de Seaborn, como "Set2".

# Crear un gráfico de barras con colores personalizados
sns.barplot(data=tips_data, x='day', y='total_bill', palette='Set2', errorbar=None)

# Mostrar el gráfico
plt.show()
Gráfico de barras en el que se ha modificado los colores por defecto
Gráfico de barras en el que se ha modificado los colores por defecto

Publicidad


Agregar etiquetas a las barras o columnas

También es posible agregar etiquetas a las barras o columnas para mostrar los valores asociados utilizando la función annotate() de Matplotlib. A continuación, se muestra un ejemplo de cómo hacerlo.

# Crear un gráfico de barras con etiquetas personalizadas
ax = sns.barplot(data=tips_data, x='day', y='total_bill', errorbar=None)

# Agregar etiquetas a las barras
for p in ax.patches:
    ax.annotate(format(p.get_height(), '.2f'), (p.get_x() + p.get_width() / 2., p.get_height()), ha = 'center', va = 'center', xytext = (0, 10), textcoords = 'offset points')

# Mostrar el gráfico
plt.show()
Gráfico de barras con etiquetas con el valor mostrado
Gráfico de barras con etiquetas con el valor mostrado

En este ejemplo, la función annotate() para agregar etiquetas al centro de cada barra. Mediante el formato '.2f' se especifica que se desea mostrar los valores con dos decimales.

Ajustar el tamaño de las barras o columnas

El tamaño de las barras o columnas empleadas en el gráfico se puede modificar mediante el parámetro linewidth de la función barplot(). Por ejemplo, se puede aumentar el ancho de las barras a 2 puntos con el siguiente código. Para que se puedan apreciar los cambios es necesario cambiar el estilo de la gráfica, para lo que se debe usar la función `set_style()` de Seaborn.

# Establecer el estilo del gráfico
sns.set_style('darkgrid')

# Crear un gráfico de barras con barras más anchas
sns.barplot(data=tips_data, x='day', y='total_bill', palette='Set2' , linewidth=2, errorbar=None)

# Mostrar el gráfico
plt.show()
Gráfico de barras con los colores cambiados y el ancho de las barras.
Gráfico de barras con los colores cambiados y el ancho de las barras

Publicidad


Mostrar otros estadísticos en las barras o columnas

Por defecto la función barplot() muestra la media de los valores, pero esto es algo que se puede cambiar mediante el parámetro estimator. En lugar de la media se puede usar valores como la suma, la media o el valor máximo. Así para ver la propina máxima por día se puede usar el siguiente código.

# Crear un gráfico de barras de la columna "day" y "total_bill" promedio
sns.barplot(data=tips_data, x='day', y='total_bill', estimator=max, errorbar=None)

# Mostrar el gráfico
plt.show()
Gráfico de barras en el que se muestra el valor máximo, no la media
Gráfico de barras en el que se muestra el valor máximo, no la media

Conclusiones

Los gráficos de barras y gráficos de columnas es una parte fundamental del análisis de datos. Siendo también una parte clave de la comunicación visual de resultados. La creación de gráficos de barras y gráficos de columnas con Seaborn es una tarea sencilla gracias a la función barplot(). Una función que cuenta con múltiples opciones para hacer que los gráficos generados sean exactamente los que se necesitan.

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

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?

Publicidad


Publicaciones relacionadas

  • Correlación y causalidad: no es lo mismo
  • Cómo exportar un DataFrame de Pandas a Markdown en Python
  • Consistencia en nombres y orden en TypeScript: la base de un código mantenible aplicado a tslane
  • Análisis de Redes con Python
  • Nuevo calendario de publicaciones: más calidad, mejor ritmo
  • Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Cómo eliminar las noticias en Windows 11 y recuperar tu concentración
  • Publicaciones de verano 2025: los trucos más populares, ahora en vídeo
  • Cómo enviar correos desde PowerShell utilizando Brevo: Guía paso a paso para automatizar tus notificaciones

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

¡Nuevo video! Encuentra la posición en listas como un PRO

julio 10, 2025 Por Daniel Rodríguez

Analytics Lane

1100 publicaciones en Analytics Lane

julio 9, 2025 Por Daniel Rodríguez

¡Nuevo video! 5 formas prácticas de obtener valores únicos en Pandas

julio 8, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • 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
  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Solución al error Failed to download metadata for repo ‘AppStream’ en CentOS 8 publicado el septiembre 13, 2023 | en Herramientas
  • La correlación de Pearson publicado el mayo 17, 2024 | en Ciencia de datos

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.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Piera en Ecuaciones multilínea en Markdown
  • Daniel Rodríguez en Tutorial de Mypy para Principiantes
  • Javier en Tutorial de Mypy para Principiantes
  • javier en Problemas con listas mutables en Python: Cómo evitar efectos inesperados
  • soldado en Numpy básico: encontrar la posición de un elemento en un Array de Numpy

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-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto