¿Por qué una gráfica de barras debe empezar en cero?
Desarma la trampa más común, las barras con el eje cortado: por qué engañan, por qué pasan sin que nadie lo decida y cómo arreglarlas en Excel y en Hojas de cálculo de Google.
Curso gratis. Tu Maestro, una IA, .
La primera pregunta del curso fue esta: en una gráfica, la barra de Providencia se veía unas cinco veces más alta que la de Chapultepec, pero los números decían 10.27 contra 8.02 millones. Ya la leíste con los cuatro movimientos y viste dónde estaba el truco: el eje empezaba en 7.5 millones. Esta página explica por qué eso engaña tanto, por qué pasa sin que nadie lo quiera y cómo arreglarlo en dos minutos.
El largo es la cantidad
Una barra dice "cuánto" con su largo, desde la base hasta la punta. El ojo no lee el número del eje: compara largos. Si el eje empieza en cero, una barra el doble de larga es el doble de cantidad, y lo que ves es lo que hay. Si el eje empieza en 7.5 millones, la parte de abajo de cada barra desaparece y solo comparas los pedazos de arriba. El ojo sigue creyendo que compara cantidades, y se equivoca.
Claus Wilke, en su libro Fundamentals of Data Visualization, lo llama el principio de la tinta proporcional: el tamaño de las áreas pintadas tiene que ser proporcional a los datos que representan. De ahí saca la regla: las barras en una escala lineal siempre deben empezar en cero.
Mira la trampa paso a paso.
Paso 1 de 4
La primera impresión
Mira la gráfica cinco segundos sin leer números. ¿Qué te dice? Casi todos contestan algo como "Providencia vende muchísimo más que Chapultepec". Datos sintéticos, CC0.
Muchas veces no es mala fe
Muchas veces nadie decidió cortar el eje. Según la ayuda de Microsoft, al crear una gráfica Excel determina por su cuenta los valores mínimo y máximo del eje vertical. Si no lo revisas, dónde empieza el eje lo eligió el programa, no tú. Nadie lo pidió, nadie lo nota, y si ese mínimo no es cero la gráfica llega a la junta exagerando.
Por eso, cuando hagas una gráfica de barras, revisa dónde empieza el eje antes de mandarla. Es la revisión que más errores evita con menos esfuerzo. El camino depende de tu programa; elige el tuyo.
En Excel para Microsoft 365, 2024 o 2021 en Windows, según la ayuda de Microsoft:
- Haz clic en la gráfica.
- En la pestaña Formato, grupo Selección actual, abre el cuadro Elementos de gráfico y elige Eje vertical (valores).
- En el mismo grupo, haz clic en Formato de selección.
- En el panel Formato de eje, entra a Opciones de eje y escribe
0en el cuadro Mínima.
El botón Restablecer junto al cuadro lo devuelve a su valor original, el que Excel había elegido por su cuenta. Para barras, déjalo en cero.
En Hojas de cálculo de Google, en tu computadora, según la ayuda de Google:
- Haz doble clic en la gráfica.
- A la derecha, haz clic en Personalizar.
- Haz clic en Eje vertical.
- Ahí puedes establecer el valor mínimo del eje: ponlo en
0.
Si no encuentras dónde, pregúntale a tu Maestro describiendo lo que ves en el panel.
Inténtalo
Esta es la misma gráfica, con su eje cortado. Arréglala para que los largos digan la verdad.
Haz un cambio: en y, reemplaza "scale": {"domain": [7.5, 10.5]} por "scale": {"zero": true}. Eso le dice al eje que empiece en cero. Terminaste cuando las tres barras salen desde cero y se ven casi del mismo tamaño, con Providencia un poco más alta. Compara con la primera impresi
Tu turno
Haz un cambio: en y, reemplaza "scale": {"domain": [7.5, 10.5]} por "scale": {"zero": true}. Eso le dice al eje que empiece en cero.
Terminaste cuando las tres barras salen desde cero y se ven casi del mismo tamaño, con Providencia un poco más alta. Compara con la primera impresión de antes: ¿qué historia cuenta ahora?
Edita el JSON; la vista previa se actualiza cuando haces una pausa.
Cómo se traduce a Altair
Altair genera este mismo JSON: chart.to_json() lo imprime. "mark": "point" es alt.Chart(df).mark_point(). Cada canal de encoding es un argumento de .encode(), por ejemplo x=alt.X("campo:Q", scale=alt.Scale(type="log")) o color="campo:N". Cada entrada de transform es una llamada como .transform_filter("datum.year == 2007").
¿Tu programa corta el eje solo y no encuentras dónde cambiarlo? Dile a tu Maestro qué programa usas.
Con el cero a la vista, la historia cambia de "Providencia arrasa" a "las tres andan cerca". Esa segunda historia es la verdadera, y es la que el gerente necesita para decidir.
¿Y si la diferencia pequeña es lo importante?
A veces sí importa una diferencia chica: la temperatura de un refrigerador que debe estar entre 2 y 4 grados, o la calificación de servicio que pasó de 4.5 a 4.7. Con barras desde cero esas diferencias no se ven. La salida no es cortar el eje de las barras, es cambiar de gráfica: puntos o una línea, que muestran el valor con su posición y sí pueden empezar cerca de los datos. Otra opción es graficar la diferencia misma ("+0.2 puntos") en lugar de los dos valores.
En resumen: las barras empiezan en cero, siempre. Las líneas y los puntos pueden no hacerlo, siempre que el eje lo diga claro.
¿Tienes una gráfica de barras en un reporte donde el eje no empieza en cero? Cuéntale a tu Maestro qué muestra y decidan cómo arreglarla.