Likert Chart
Likert Chart
Qué es
Barras divergentes que muestran respuestas a escalas de tipo Likert (muy en desacuerdo → muy de acuerdo). Las respuestas se alinean desde el centro dividiendo positivos y negativos.
Para qué sirve
Para visualizar resultados de encuestas de satisfacción, actitudes u opiniones con escala de acuerdo/desacuerdo.
Cómo leerlo
Anatomía
La escala de actitud de cinco puntos —muy en desacuerdo a muy de acuerdo— proviene de una técnica de medición de actitudes de comienzos del siglo XX. Pero la forma de graficarla en barras horizontales divergentes ancladas en un cero central es una recomendación bastante más tardía, formulada como respuesta directa a un problema de la alternativa más común de la época, la barra 100% apilada desde un solo extremo: sin un borde común entre preguntas, comparar el nivel de desacuerdo entre dos ítems de la encuesta exige medir segmentos que empiezan en puntos distintos del eje, un ejercicio visual mucho más difícil que comparar dos barras que arrancan del mismo cero. La categoría "neutral", cuando existe, se parte a la mitad y se reparte a ambos lados del cero —una solución deliberada y no neutral en sí misma, ya que tratar la mitad de esas respuestas como acuerdo implícito distorsiona algo el total de cada lado.
Por qué funciona
Fundamento perceptivo
La alineación central permite ver de un vistazo si hay más acuerdo o desacuerdo, y qué tan extremas son las posturas. La simetría visual facilita la comparación entre preguntas.
Errores comunes
Categoría neutral ambigua
La opción central de una escala Likert, como "ni de acuerdo ni en desacuerdo", puede colocarse partida por la mitad entre el lado positivo y el negativo, o como un bloque aparte al costado. Cada convención cambia lo que el lector percibe como el balance general de las respuestas, así que hay que ser explícito sobre cuál se está usando y por qué.
Colores que no reflejan un gradiente
Una escala Likert es, por definición, ordinal —va de un extremo a otro pasando por grados intermedios—, así que los colores de cada categoría deberían seguir un degradado coherente (por ejemplo, de un tono a otro pasando por un tono neutro), no colores arbitrarios sin relación entre sí que rompan la sensación de escala continua.
Barras que no suman 100%
Cuando se muestran varias preguntas Likert una debajo de otra, cada una debe sumar exactamente el 100% de las respuestas para esa pregunta. Si el número de encuestados varía de una pregunta a otra sin dejarlo explícito, comparar el largo de las barras entre preguntas distintas puede llevar a conclusiones equivocadas sobre cuál pregunta tuvo más respuestas en un sentido u otro.
Dónde se usa
Contextos de aplicación

Encuestas de satisfacción laboral
Check-in rápido de clima interno, con una escala de caras que resume el sentir del equipo.

Opinión sobre políticas públicas
Nivel de acuerdo o desacuerdo ciudadano frente a una medida o proyecto de ley.

Evaluación de productos
Respuesta de usuarios a una escala de satisfacción sobre una característica o servicio.
Cómo construirlo
El mismo gráfico, en 11 librerías open source
Cada librería resuelve las mismas decisiones de diseño, como la escala, el espaciado entre barras o la inserción de la etiqueta de valor, de un modo distinto. Algunas las automatizan; otras las dejan explícitas en el código, a criterio de quien lo escribe. Comparar once implementaciones con los mismos datos y el mismo color de marca aísla esa diferencia, que de otro modo queda oculta detrás de estilos visuales distintos.
Diverging stacked bar: neutral se reparte a la mitad y cada lado acumula por separado desde el cero con left= —la misma lógica de un stacked bar normal, aplicada dos veces, una por dirección.
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
label = "Confianza en el gobierno nacional"
colores = ["#490827", "#760D3E", "#9C9187", "#D2601F", "#A8461A"]
valores = [0, 44, 16, 39, 0] # muy_desacuerdo, desacuerdo, neutral, acuerdo, muy_acuerdo
neutral_mitad = valores[2] / 2
# Diverging stacked bar: neutral se reparte a la mitad y cada lado
# acumula por separado desde el cero con left= -- la misma logica de un
# stacked bar normal, aplicada dos veces (una por direccion).
fig, ax = plt.subplots(figsize=(7.6, 1.8))
cl = 0
for v, c in zip([neutral_mitad, valores[1], valores[0]], [colores[2], colores[1], colores[0]]):
ax.barh([label], [-v], left=-cl, color=c, height=0.6)
cl += v
cr = 0
for v, c in zip([neutral_mitad, valores[3], valores[4]], [colores[2], colores[3], colores[4]]):
ax.barh([label], [v], left=cr, color=c, height=0.6)
cr += v
ax.axvline(0, color="#3A3330", linewidth=1.2)
ax.xaxis.set_major_formatter(ticker.FuncFormatter(lambda v, _: f"{abs(v):.0f}"))
plt.show()Herramientas para construirlo
No-code, desktop y plataformas web, con su licencia visible, abierta o comercial.
Paso a paso
Cómo se construye.
Términos relacionados
Con datos reales
Ejemplos de uso.
¿Confía la gente en su gobierno nacional?
Encuesta OCDE sobre confianza en instituciones públicas, 30 países, 2023. La fuente publica 3 tramos, no 5 — los extremos no se reportan por separado.
Fuente: OCDE, Survey on Drivers of Trust in Public Institutions (2024 Results)
Gráficos relacionados
