Tutoriales Interactivos
BlogIniciar sesiónComenzar gratis
Inicio›Blog›Visualización de Datos›Cómo crear un gráfico de barras con matplotlib

Cómo crear un gráfico de barras con matplotlib

El gráfico de barras es el tipo de gráfico más versátil y uno de los más fáciles de interpretar. Si tienes datos que comparan categorías — ventas por región, población por país, votos por candidato — las barras son probablemente la mejor opción. Y con matplotlib, crearlas toma cuatro líneas de código.

Tu primer gráfico de barras

import matplotlib.pyplot as plt

frutas = ['Manzana', 'Plátano', 'Naranja', 'Uva']
ventas = [45, 32, 58, 21]

plt.bar(frutas, ventas)
plt.show()

Eso es todo. plt.bar() recibe dos listas: las categorías (eje X) y los valores (eje Y). plt.show() muestra el resultado.

Agregar título y etiquetas

Un gráfico sin contexto no comunica nada. Siempre agrega título y etiquetas de ejes:

import matplotlib.pyplot as plt

frutas = ['Manzana', 'Plátano', 'Naranja', 'Uva']
ventas = [45, 32, 58, 21]

plt.bar(frutas, ventas)
plt.title('Ventas por fruta')
plt.xlabel('Fruta')
plt.ylabel('Unidades vendidas')
plt.show()

Tres funciones que deberías usar siempre:

FunciónQué hace
plt.title()Título del gráfico
plt.xlabel()Etiqueta del eje horizontal
plt.ylabel()Etiqueta del eje vertical

Cambiar el color de las barras

plt.bar(frutas, ventas, color='steelblue')

Puedes usar nombres de colores ('red', 'green', 'steelblue') o códigos hexadecimales ('#e17055'). También puedes asignar un color distinto a cada barra pasando una lista:

colores = ['#e17055', '#fdcb6e', '#00b894', '#6c5ce7']
plt.bar(frutas, ventas, color=colores)

Trabajar con datos de un diccionario

En la práctica, los datos suelen venir en diccionarios. Para convertirlos en un gráfico:

import matplotlib.pyplot as plt

datos = {
    'Norte': 45000,
    'Sur': 32000,
    'Este': 58000,
    'Oeste': 41000
}

plt.bar(list(datos.keys()), list(datos.values()), color='steelblue')
plt.title('Ventas por región')
plt.ylabel('Monto ($)')
plt.show()

list(datos.keys()) extrae las categorías y list(datos.values()) extrae los valores numéricos.

Barras horizontales

Cuando los nombres de las categorías son largos, las barras horizontales evitan que las etiquetas se sobrepongan:

import matplotlib.pyplot as plt

paises = ['Argentina', 'Colombia', 'México', 'Chile', 'Perú']
poblacion = [46, 52, 128, 19, 34]

plt.barh(paises, poblacion, color='#00b894')
plt.title('Población por país')
plt.xlabel('Millones de habitantes')
plt.show()

La diferencia es usar plt.barh() en lugar de plt.bar().

Errores frecuentes

Olvidar plt.show(): sin esta línea, el gráfico se crea en memoria pero no se muestra. Es el error más común al empezar con matplotlib.

Listas de distinto largo: si la lista de categorías tiene 4 elementos y la de valores tiene 5, matplotlib lanza un error. Siempre verifica que ambas listas tengan el mismo número de elementos.

No agregar etiquetas: un gráfico de barras sin título ni etiquetas de ejes obliga al lector a adivinar qué representan las barras. Siempre incluye contexto.

Aprende haciendo, no solo leyendo

Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de Visualización de Datos y recibes corrección inmediata de IA.

Comenzar gratis →
Desafío Latam
+56 9 5117 7975
+52 1 55 4047 7251
[email protected]

Carreras

  • Full Stack JavaScript
  • Diseño UX/UI
  • Data Science
  • Data Analytics

Comunidad

  • Blog
  • Becas
  • Trabaja con Nosotros
  • Políticas de Calidad

Síguenos

© 2026 Desafío Latam. Todos los derechos reservados.