Gráficos engañosos¶
Ejercicio misleading-charts-annex.pdf · PDF
Mira el gráfico rojo de abajo durante dos segundos y responde sin pensar: ¿cuántas veces mejor puntúa la crítica los juegos Hit que los juegos Niche?
La mayoría de la gente dice cinco, seis, siete veces. Ahora mira el gráfico azul. La misma tabla, la misma consulta, los mismos tres números: 67.1, 71.5 y 79.8. Los juegos Hit puntúan un 19% más, no un 600%.
Nadie ha cambiado ningún número. Y aun así, uno de estos dos gráficos miente. Desde Configurar gráficos en Superset eres tú quien maneja los mandos, así que hoy aprendes los trucos desde dentro: para cazarlos, y para no hacerlos nunca por accidente.
Qué aprenderás
- Nombrar cinco maneras en que un conjunto de datos correcto se convierte en un gráfico engañoso, y detectar cada una
- Reproducir un eje truncado y un rango escogido a conveniencia en Superset, y deshacerlos
- Calcular el factor de mentira de un gráfico y decir cuál es el valor honesto
- Explicar cuándo cortar el eje es una mentira (barras) y cuándo puede ser honesto (líneas, si lo dices)
- Reescribir un título engañoso como un hallazgo que los datos realmente respaldan
Modo foto para los datos¶
Muchos videojuegos tienen un modo foto. La partida es la misma, pero con zoom, recorte, ángulo y filtro puedes hacer que una partida perdida parezca una victoria. Nadie ha editado la partida. Alguien solo ha elegido qué enseñar.
Un gráfico engañoso es un gráfico en el que todos los números son verdaderos y aun así la imagen lleva al lector a una conclusión equivocada.
Es el modo foto para los datos. Mantenemos la analogía durante toda la página: los datos son la partida, el gráfico es la foto. Hay cinco trucos clásicos, y cada uno es un control del modo foto:
| Truco | Modo foto | Cómo detectarlo | Versión honesta |
|---|---|---|---|
| Eje truncado | Zoom | Las barras no empiezan en cero. Las diferencias pequeñas parecen enormes. | Las barras empiezan en cero. Siempre. |
| Rango escogido a conveniencia | Recorte | Las fechas empiezan o acaban justo donde conviene al titular. | Muestra todo el rango, o di por qué lo has cortado. |
| Ejes duales | Perspectiva forzada | Dos escalas en Y. Dónde se cruzan las líneas depende de las escalas, no de los datos. | Dos gráficos, uno encima del otro, con el mismo eje X. |
| Sectores en 3D y sectores saturados | Ángulo de cámara | Los sectores del frente parecen mayores; con más de cinco sectores no se pueden comparar. | Plano, cinco sectores o menos; si no, barras ordenadas. |
| Mal color | Filtro | Un arcoíris sobre valores ordenados, rojo contra verde, colores que no significan nada. | Un solo tono, más oscuro = más. Color solo cuando significa algo. |
Cuidado: 'si los números son verdaderos, el gráfico es verdadero'
El lector no lee los números. Lee longitudes, pendientes y áreas. Esas pueden mentir aunque todos los números sean correctos, y precisamente por eso estos gráficos funcionan: pasarían una verificación de datos número a número.
Truco 1: el eje truncado (zoom)¶
Un eje truncado es un eje que no empieza en cero, de modo que solo se dibuja la parte alta de cada barra.
Ese es el gráfico rojo del gancho. Su eje Y va de 65 a 80. Los números que hay detrás:
SELECT owners_tier, ROUND(AVG(metascore)::numeric, 1) AS avg_metascore, COUNT(metascore) AS scored
FROM games_clean GROUP BY owners_tier ORDER BY avg_metascore DESC;
| owners_tier | avg_metascore | scored |
|---|---|---|
| Hit | 79.8 | 399 |
| Mid | 71.5 | 1964 |
| Niche | 67.1 | 486 |
En un gráfico de barras la longitud de la barra es el número. Corta el eje en 65 y la barra Hit ya no mide 79.8: mide 79.8 − 65 = 14.8. La barra Niche mide 67.1 − 65 = 2.1. La imagen ahora compara 14.8 con 2.1, dos números que no existen en ninguna parte de los datos.
Mide la mentira: el factor de mentira¶
En 1983 Edward Tufte, en su libro The Visual Display of Quantitative Information, le puso un número a la mentira.
Factor de mentira (lie factor) = tamaño del efecto mostrado en el gráfico ÷ tamaño del efecto en los datos.
Un gráfico honesto tiene un factor de mentira cercano a 1. El límite de Tufte: por encima de 1.05 o por debajo de 0.95, el gráfico distorsiona. Hazlo con los dos gráficos del gancho:
| En los datos | En el gráfico truncado | |
|---|---|---|
| Hit comparado con Niche | 79.8 ÷ 67.1 = 1.19 veces | unas 7 veces (7.13 con las medias sin redondear) |
| Tamaño del efecto | Hit es un 19% mayor | La barra Hit es un 613% más alta |
Factor de mentira: 613 ÷ 19 ≈ 32. La imagen muestra un efecto treinta y dos veces mayor que el de los datos. Puedes dejar que PostgreSQL haga la cuenta con las medias sin redondear:
WITH t AS (SELECT AVG(metascore) FILTER (WHERE owners_tier = 'Hit') AS hit,
AVG(metascore) FILTER (WHERE owners_tier = 'Niche') AS niche FROM games_clean)
SELECT ROUND((hit / niche)::numeric, 2) AS real_ratio,
ROUND(((hit - 65) / (niche - 65))::numeric, 2) AS drawn_ratio,
ROUND((((hit - 65) / (niche - 65) - 1) / (hit / niche - 1))::numeric, 1) AS lie_factor FROM t;
Devuelve 1.19, 7.13 y 32.3.
Cuidado: 'el eje Y siempre tiene que empezar en cero'
En un gráfico de barras, sí: la longitud de la barra es el número, así que cortar la barra corta la verdad. El propio Superset lo dice, en el tooltip ⓘ que aparece al pasar el cursor sobre la opción: "It's not recommended to truncate axis in Bar chart."
En un gráfico de líneas el ojo lee posición y pendiente, no longitud. Un gráfico de la temperatura corporal entre 35 y 42 grados es honesto, y empezarlo en cero aplanaría la fiebre hasta hacerla desaparecer. Así que la regla no es "siempre cero". La regla es: nunca dejes que la imagen muestre un cambio mayor que el de los datos. Y si cortas un eje, etiquétalo para que el lector vea el corte.
Truco 2: el rango escogido a conveniencia (recorte)¶
Un rango escogido a conveniencia (cherry-picked range) es una fecha de inicio o de final elegida porque produce el titular, no porque lo pida la pregunta.
"Game prices in free fall", dice el gráfico rojo. De 2013 a 2018 el precio medio de un juego nuevo de Steam pasó de 11.21 a 7.12 dólares: una caída del 36.5%. Verdad.
Ahora la partida entera. Los datos empiezan en 2004, cuando la media era de 7.27 dólares. En todo el rango el cambio es 7.27 → 7.12: una caída del 2.1%. Los precios subieron hasta un máximo en 2013 y volvieron al punto de partida.
SELECT release_year, ROUND(AVG(price), 2) AS avg_price FROM games_clean
WHERE release_year IS NOT NULL GROUP BY release_year ORDER BY release_year;
| La foto decía | La partida era |
|---|---|
| −36.5% desde 2013 | −2.1% desde 2004, con un máximo en 2013 |
El recorte empezó en el punto más alto a propósito. Empieza en cualquier otro sitio y el titular muere.
Pero yo elegí 2013 porque es donde se pone interesante
Entonces dilo, en el título o en una nota: "Since the 2013 peak, prices have fallen by a third". Un corte que el lector puede ver es una decisión. Un corte que el lector no puede ver es un recorte.
Truco 3: ejes duales (perspectiva forzada)¶
Conoces la foto de turista en la que alguien "sujeta" la torre de Pisa. Dos cosas a distancias distintas, alineadas para que parezca que se tocan. Eso es perspectiva forzada.
Un gráfico con ejes duales dibuja dos series con dos escalas distintas en Y, una a la izquierda y otra a la derecha.
Abajo, las mismas dos series dos veces: juegos publicados por año en el eje izquierdo, precio medio en el eje derecho. La única diferencia entre los paneles es el rango del eje derecho.
"¿Qué pasó en 2016, cuando se cruzaron las dos líneas?" No pasó nada. Estira el eje derecho y el cruce se mueve dos años hacia atrás. Un cruce entre dos escalas distintas lo fabrican los límites de los ejes, no los datos. Los juegos y los dólares no pueden ser mayores ni menores unos que otros.
La versión honesta no cuesta nada: dos gráficos, uno encima del otro, compartiendo el mismo eje X. El lector sigue comparando las formas, y no aparece ningún cruce falso.
Truco 4: sectores en 3D y saturados (ángulo de cámara)¶
Un gráfico de sectores en 3D está inclinado hacia ti, así que los sectores del frente reciben más tinta que los del fondo para el mismo porcentaje. Superset no tiene gráfico de sectores en 3D, pero las hojas de cálculo y la prensa están llenas de ellos. El arreglo es siempre el mismo: plano.
El truco que sí puedes hacer en Superset es el gráfico de sectores saturado. Este es el catálogo de Steam por año de lanzamiento, quince sectores:
pie
title El catálogo de Steam por año de lanzamiento
"2004" : 53
"2005" : 58
"2006" : 112
"2007" : 143
"2008" : 183
"2009" : 334
"2010" : 340
"2011" : 364
"2012" : 426
"2013" : 556
"2014" : 1352
"2015" : 2544
"2016" : 4503
"2017" : 6871
"2018" : 8845
Sin mirar los números: ¿qué proporción del catálogo se publicó en 2012? ¿Y en 2009? (1.6% y 1.3%. Ocho de los quince sectores son más finos que el 1.5%.)
Hay dos errores en uno. Quince sectores se pasan de largo del límite de cinco. Y la pregunta nunca fue de composición: los años son un momento en el tiempo, así que el trabajo es la evolución y la herramienta es una línea. Ya tienes el gráfico honesto: UT3 · Games released per year, directo de la tabla de decisión de Elegir el gráfico adecuado.
Truco 5: mal color (filtro)¶
El color es el filtro del modo foto: cambia el ambiente sin cambiar la escena. Tres maneras de hacerlo mal:
| Mal color | Por qué engaña | Versión honesta |
|---|---|---|
| Un arcoíris sobre valores ordenados (pocos, algunos, muchos) | ¿El verde es más que el azul? El arcoíris no tiene un orden natural, así que el lector tiene que aprenderlo de la leyenda | Un solo tono, de claro a oscuro: más oscuro = más |
| Rojo contra verde como única diferencia | Algunos lectores no pueden distinguirlos | Una segunda señal: una etiqueta, una línea discontinua, claro contra oscuro |
| Un color distinto para cada barra de lo mismo | El color parece que significa algo, y no significa nada | Un color; un segundo solo para la barra que importa |
Sobre el rojo contra el verde, un dato: alrededor de 1 de cada 12 hombres y 1 de cada 200 mujeres tienen alguna forma de daltonismo, y el rojo-verde es con diferencia la más común. En una clase de 25, espera una o dos personas para las que tu línea roja y tu línea verde son la misma línea.
Pruébalo: construye la mentira y arréglala¶
La mejor manera de reconocer un truco es hacerlo una vez a propósito. En cada caso primero haces la foto engañosa, luego nombras el truco, arreglas el gráfico y escribes el título honesto. Necesitas el dataset games_clean en Superset (consulta Recursos).
Caso A: "Hit games are in another league".
| Paso | Haz esto | Deberías ver |
|---|---|---|
| 1 | Gráfico nuevo sobre games_clean, tipo de gráfico Bar Chart. X-axis: owners_tier. Metrics: Simple → columna metascore, agregado AVG. Create chart. |
Tres barras de altura parecida. |
| 2 | La mentira: Customize → Chart Options → Y Axis (el último bloque de la pestaña): marca Truncate Axis y pon Axis Bounds con mínimo 65, máximo 80. |
El gráfico se redibuja al instante: Hit se eleva sobre Niche. |
| 3 | Mide en la pantalla, con una regla o contando líneas de la cuadrícula: ¿cuántas veces más alta es la barra Hit? Luego lee los dos valores. |
Unas siete veces en la imagen; 1.19 veces en los datos. |
| 4 | El arreglo: desmarca Truncate Axis, borra los límites. Marca Show Value. Escribe un título que respalden los datos. | Tres barras desde cero con 79.8, 71.5 y 67.1. |
| 5 | Save → UT3 · Average Metascore by owners tier. |
Un título sin "league". |
Una frase honesta más para este gráfico: solo 486 de los 17,921 juegos Niche tienen Metascore, un 2.7%. La barra Niche describe un rincón pequeño y poco habitual de los juegos Niche.
Caso B: "Game prices in free fall".
| Paso | Haz esto | Deberías ver |
|---|---|---|
| 1 | Abre UT3 · Games released per year. Cambia la métrica a AVG(price) (Simple → price, AVG). Update chart. |
Una línea que sube y luego baja. |
| 2 | La mentira: Filters → release_year → Greater or equal (>=) → 2013. Update chart. |
Seis puntos, todos cuesta abajo: −36.5%. |
| 3 | El arreglo: quita el filtro. Y Axis Format $,.2f, títulos de ejes, título honesto. |
15 puntos: sube hasta un máximo en 2013 y vuelve a bajar. −2.1% desde 2004. |
| 4 | Save → Save as... → UT3 · Average price per year. |
Un gráfico nuevo. No sobrescribas tu gráfico de juegos por año. |
Caso C: "The Steam catalogue by year".
| Paso | Haz esto | Deberías ver |
|---|---|---|
| 1 | Gráfico nuevo, tipo de gráfico Pie Chart. Dimensions: release_year. Metric: COUNT(*). Create chart. |
Un gráfico de sectores donde solo los sectores más grandes se leen. |
| 2 | Sin pasar el cursor por encima, adivina la proporción de 2012 y de 2009. Luego pasa el cursor para comprobarlo. | 1.6% y 1.3%. |
| 3 | El arreglo: no construyas nada. Nombra el gráfico guardado que muestra los mismos números de forma honesta, y el trabajo que hace. | UT3 · Games released per year: evolución, una línea. |
Si algo se ve mal
- Caso A: las barras no se mueven al poner los límites: Truncate Axis no está marcado, o escribiste los límites y no saliste del cuadro con Tab o Enter.
- Caso A: el gráfico está vacío o las tres barras son iguales: la métrica es
AVG(price)oCOUNT(*). Tiene que serAVG(metascore). - Caso B:
release_yearno muestra el operador ">=": escribe el filtro como SQL personalizado: Filters → Custom SQL →release_year >= 2013. - Caso C: la leyenda tiene una entrada
<NULL>(en su segunda página; la leyenda se desplaza): es el único juego sin fecha de lanzamiento. Es real; déjalo, o filtrarelease_yearcon Is not null.
Cuidado: 'Superset no me habría dejado hacer un gráfico malo'
Te dejó marcar Truncate Axis en un gráfico de barras, y la única advertencia fue un tooltip que había que pasar el cursor para ver. La herramienta dibuja. Tú respondes de la imagen.
Ideas clave¶
- Un gráfico engañoso tiene números verdaderos y una imagen falsa. Los lectores leen longitudes, pendientes y áreas, no números.
- Eje truncado: las barras deben empezar en cero, porque la longitud de la barra es el número. Una línea puede acercarse, si el eje está etiquetado y el cambio mostrado coincide con los datos.
- El factor de mentira (Tufte, 1983) es el efecto mostrado en el gráfico dividido entre el efecto en los datos. Honesto es cercano a 1; el gráfico de barras del gancho puntúa 32.
- Rango escogido a conveniencia: muestra todo el rango, o di en el título por qué lo has cortado.
- Los ejes duales crean cruces que dependen de las escalas. Apila dos gráficos en su lugar.
- Los gráficos de sectores saturados y en 3D y el mal color esconden la comparación: cinco sectores como máximo, planos, y color solo cuando significa algo.
Comprobación rápida¶
1. ¿Qué hace engañoso a un gráfico, en el sentido de esta lección?
- Contiene al menos un número incorrecto
- Se hizo con el software equivocado
- Todos los números son verdaderos, pero la imagen lleva al lector a una conclusión equivocada
- Usa más de un color
Un gráfico engañoso pasaría una verificación de datos número a número. La mentira está en lo que las longitudes, pendientes y áreas hacen creer al lector: modo foto para los datos.
2. ¿Por qué el eje de un gráfico de barras debe empezar en cero?
- Porque Superset se niega a dibujarlo de otro modo
- Porque la longitud de la barra es el número, así que cortar la barra cambia lo que se compara
- Porque cero es el valor más común en cualquier conjunto de datos
- Porque las barras por debajo de 65 no se pueden colorear
Con el eje cortado en 65, la barra Hit mide 14.8 y la barra Niche 2.1: la imagen compara dos números que no están en los datos. Superset sí te deja hacerlo; solo avisa en un tooltip.
3. En los datos, los juegos Hit puntúan un 19% más que los juegos Niche. En el gráfico truncado, la barra Hit es un 613% más alta. ¿Cuál es el factor de mentira?
- Alrededor de 0.03
- Alrededor de 7
- Alrededor de 32
- Alrededor de 594
Factor de mentira = efecto mostrado en el gráfico ÷ efecto en los datos = 613 ÷ 19 ≈ 32. Un gráfico honesto está cerca de 1. Siete es cuántas veces más alta parece la barra, que no es lo mismo.
4. Un gráfico titulado 'Game prices in free fall' muestra el precio medio de 2013 a 2018. Los datos se remontan a 2004. ¿Qué truco es?
- Eje truncado
- Rango escogido a conveniencia
- Ejes duales
- Mal color
El rango empieza justo en el máximo de 2013 (11.21 dólares), así que la caída a 7.12 parece un −36.5%. En todo el rango, desde 7.27 en 2004, es un −2.1%. El arreglo honesto es mostrar el rango completo, o decir en el título por qué se cortó.
5. Dos líneas de un gráfico de ejes duales se cruzan en 2016. ¿Qué te dice el cruce?
- Que los dos valores eran iguales en 2016
- Que una serie provocó el cambio de la otra
- Nada: cambia los límites de un eje y el cruce se mueve
- Que 2016 fue el máximo de las dos series
Con ejes duales cada línea tiene su propia escala, así que el punto donde se encuentran lo deciden los límites de los ejes. Los juegos y los dólares no pueden ser iguales entre sí. Apila dos gráficos sobre el mismo eje X en su lugar.
6. ¿Qué afirmación sobre cortar el eje Y es correcta?
- Siempre es una mentira, en cualquier gráfico
- Nunca es un problema si los números son verdaderos
- Es una mentira en un gráfico de barras; en un gráfico de líneas puede ser honesto si el eje está etiquetado y el cambio mostrado coincide con los datos
- Solo se permite en gráficos de sectores
En las barras el ojo lee longitud, así que el eje debe empezar en cero. En las líneas el ojo lee posición y pendiente: un gráfico de temperatura de 35 a 42 grados es honesto. La regla real es no dejar nunca que la imagen muestre un cambio mayor que el de los datos.
7. Un gráfico de barras compara dos proveedores de internet: A con un 99.2% de disponibilidad y B con un 97.5%. El eje Y va de 97 a 100 y el título dice 'A is far more reliable'. Elige las dos afirmaciones verdaderas.
- Es un eje truncado: la barra A parece más de cuatro veces más alta, pero 99.2 es solo un 1.7% más que 97.5
- Una versión honesta empieza las barras en cero con los valores escritos sobre ellas
- Es un rango escogido a conveniencia, porque las fechas se eligieron a propósito
- El gráfico es honesto, porque los dos números son verdaderos
Por encima de 97, la barra A mide 2.2 y la barra B 0.5: 2.2 ÷ 0.5 = 4.4 veces más alta en la imagen, frente a 99.2 ÷ 97.5 = 1.017 en los datos. Aquí no hay fechas, así que no se recortó nada. Que los números sean verdaderos no hace verdadera la imagen.
Ya sabes construir un gráfico, elegirlo, configurarlo y defenderlo. Un gráfico responde a una pregunta; las decisiones reales necesitan varios a la vez, lado a lado, en una sola pantalla. Eso es la Unidad 4: Cuadros de mando e informes.