Diagrama de Lexis

Edad, periodo y cohorte a la vez.

Definición

Un diagrama de Lexis cruza el año natural en horizontal con la edad en vertical, los dos medidos en años a la misma escala, y colorea cada casilla según una magnitud: una tasa, un porcentaje o un recuento. Así cada generación es una diagonal a 45° que se puede seguir con el ojo, y se distingue si un cambio lo trae la edad, el año o la cohorte. Se usa en demografía, salud pública y estudios de comportamiento.

Nadie dejó de fumar: llegaron generaciones que no empezaron
Datos
y · x · value
Buena para
Distinguir si un cambio lo produce la edad, el momento o la generación.
Evítala cuando
Cuando no hay datos por edad y por año a la vez, o las edades y los años no van equiespaciados.
Se lee bien
Entre 4 y 500 elementos; dibuja hasta 6400
Datos que faltan
Se niega a dibujar y dice qué valor falta.
Accesibilidad
Lector de pantalla: resumen en texto · respeta «reducir movimiento»

Forma de los datos

Qué columnas pide

ColumnaTipoPara qué
ynumberLa EDAD de la casilla, en años y como número: el borde INFERIOR de la banda (50, no «50-54»). Los valores distintos tienen que estar equiespaciados — el paso se mide del dato y es el alto de la celda.
xnumberEl AÑO natural de la casilla, como número: el borde IZQUIERDO del periodo (1990). No es una fecha: el eje de tiempo mide años, lo mismo que el de edad, para que la recta de una generación vaya a 45°. También equiespaciado.
valuenumberLa magnitud que codifica el color, en cinco clases calculadas sobre el propio dato (por cuantiles o por tramos iguales, según `lexis.corte`). El ENCABEZADO de esta columna es lo que se escribe junto a la rampa: es lo único que sabe si son tasas por cien mil, un porcentaje o un recuento, y el componente no lo supone.

Tamaños

Ancha por necesidad

Esta pieza necesita anchura para que cada rótulo quepa entero. El motor prefiere decirlo a apretarla.

A menos de 480 px sus rótulos no caben sin pisarse o recortarse, y el motor no la publica así. En el móvil se ve la versión ancha, a tamaño legible y sin recortar, dentro de un marco que se desliza.

Cuándo usarla

Tres preguntas antes de elegirla

¿Sospechas que el efecto viene de la generación?

Si basta con cruzar dos categorías sin seguir cohortes en diagonal, un mapa de calor normal sirve.

Sí: quédate con diagrama de lexis

No: usa Mapa de calor

¿Tienes el dato desglosado por edad además de por año?

Con una sola serie por año, el gráfico de líneas cuenta la evolución.

Sí: quédate con diagrama de lexis

No: usa Gráfico de líneas

¿Hablas de edad y año natural, no de antigüedad de clientes?

Si las cohortes son altas de clientes medidas por periodos desde el alta, la retención por cohortes es la forma habitual.

Sí: quédate con diagrama de lexis

No: usa Retención por cohortes

Código

La misma pieza, con tus datos

import { getPreset, renderComposition } from 'visx-render/node';

const spec = await getPreset('lexis');
spec.data.rows = misFilas; // y, x, value
const { svg, warnings } = await renderComposition(spec);

También en React con Chart y prepareComposition. Guía para desarrolladores →

Dudas

¿Por qué los dos ejes van a la misma escala?

Porque años y edades se miden en años a la misma escala: sólo así la recta de una generación va a 45°. Si se estira la retícula, las diagonales dejan de ser generaciones.

¿Qué dice el color?

Una de cinco clases calculadas sobre los propios datos, no una cifra. El encabezado de la columna de valor es lo que se escribe junto a la leyenda, así que debe decir la unidad.

¿Cómo escribo las edades y los años?

Como números: el borde inferior de la banda de edad (50, no «50-54») y el borde izquierdo del periodo (1990). Ambos equiespaciados.

¿Qué hace si faltan datos?

Se niega a dibujar y dice qué valor falta.

¿Cómo se ve en el móvil?

A menos de 480 px el motor no la compone sin pisar o cortar rótulos, y lo dice. En el móvil se ve la versión ancha, a tamaño legible, dentro de un marco que se desliza.

Relacionadas

Otras formas de responder «cómo cambia en el tiempo»

Guía para elegir: cómo cambia en el tiempo →