Population Pyramid
Population Pyramid
Qué es
Dos gráficos de barras horizontales espejo (uno para cada sexo) que muestran la distribución de población por grupos de edad. La forma de la pirámide revela la estructura demográfica.
Para qué sirve
Para comparar la distribución por edad y sexo de una población, o comparar dos grupos demográficos enfrentados.
Cómo leerlo
Anatomía
El primer histograma bilateral de este tipo documentado apareció en un atlas estadístico nacional del siglo XIX, en la misma publicación que incluyó, en otra lámina, uno de los primeros mosaicos de la historia para cruzar dos variables categóricas. La convención de sexo a la izquierda y a la derecha, con la edad ascendiendo hacia arriba, que fijó ese atlas hace 150 años se mantiene prácticamente intacta. Son dos gráficos de barras horizontales que comparten el mismo eje vertical y crecen en direcciones opuestas desde un cero común, no dos gráficos independientes puestos uno junto al otro. Pero la lectura real que habilita el formato no es ninguna barra individual sino la silueta completa: una base ancha que se angosta hacia arriba señala una población creciente con natalidad alta; una silueta rectangular, una población estable; una silueta más ancha arriba que abajo, una población envejecida y en contracción.
Por qué funciona
Fundamento perceptivo
La forma general de la pirámide (ancha en la base = población joven; ancha en el centro = bono demográfico) comunica la dinámica poblacional de un vistazo.
Errores comunes
Requiere dos grupos claramente definidos
Una pirámide poblacional funciona porque compara dos categorías simétricas —típicamente hombres y mujeres— a ambos lados de un eje central. Con tres o más grupos que comparar, la metáfora visual de la pirámide deja de funcionar, y conviene un gráfico de barras agrupadas por edad en su lugar.
Escalas distintas a cada lado
Si el lado izquierdo y el lado derecho de la pirámide usan escalas numéricas diferentes —por ejemplo, para "igualar" visualmente dos poblaciones de tamaño muy distinto—, el gráfico deja de ser comparable de un vistazo, que es exactamente su propósito. Ambos lados deben compartir la misma escala aunque eso implique que un lado se vea visualmente mucho más angosto que el otro.
Grupos de edad de ancho desigual
Mezclar franjas de edad de distinto ancho —por ejemplo, quinquenios en la mayoría del rango pero un solo grupo "65 y más" al final— distorsiona la comparación de barras entre franjas, ya que una franja más ancha acumula naturalmente más población. Mantener el mismo ancho de franja en todo el rango de edad, hasta donde los datos lo permitan, preserva la validez de la comparación visual.
Dónde se usa
Contextos de aplicación

Estructura demográfica de un país
Distribución de la población por edad y sexo, la lectura clásica de un censo.

Empleados por edad y género
Composición etaria de una dotación, comparada entre ambos grupos.

Clientes por segmento
Perfil de edad de una base de clientes, cruzado con otra variable de interés.
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.
Sin función "pirámide": barh() con valores negativos de un lado y positivos del otro, más un formatter que muestra abs(valor) en el eje —el truco es aritmético, no una función dedicada.
import matplotlib.pyplot as plt
import matplotlib.ticker as ticker
tramos = ["60+", "18-59", "14-17", "0-14"]
mujeres = [2.129764, 2.481200, 0.504562, 1.685419] # millones
hombres = [1.727898, 2.984397, 0.522624, 1.749479]
# Sin funcion "piramide": barh() con valores negativos de un lado y
# positivos del otro, mas un formatter que muestra abs(valor) en el eje.
fig, ax = plt.subplots(figsize=(7.6, 3.6))
ax.barh(tramos, [-v for v in mujeres], color="#490827", label="Mujeres")
ax.barh(tramos, hombres, color="#760D3E", label="Hombres")
ax.xaxis.set_major_formatter(ticker.FuncFormatter(lambda v, _: f"{abs(v):.1f}"))
ax.legend(loc="lower right", frameon=False)
plt.show()Herramientas para construirlo
No-code, desktop y plataformas web, con su licencia visible, abierta o comercial.
Términos relacionados
Con datos reales
Ejemplos de uso.
La estructura por edad de Chile ya no es una pirámide
Población por sexo y tramo de edad, proyección INE base 2024. El tramo con más gente no es el más joven — es el de 18 a 59.
Fuente: INE Chile, Estimaciones y Proyecciones de Población (base Censo 2024)
Gráficos relacionados
