Public
Edited
Feb 21
Insert cell
Insert cell
Insert cell
Insert cell
Plot.plot({
title: "La población peruana envejecerá rápidamente",
subtitle:
"Perú: Distribución de la población según edades simples, 1950-2050 (en miles de personas)",
caption:
'Nota: No se incluye la población de 80 o más años, al no estar separada en los cálculos del INEI. Fuente: INEI (2019) "Perú: Estimaciones y Proyecciones de la Población Nacional, por Año Calendario y Edad Simples, 1960-2050"',
marginLeft: 30,
marginTop: 30,
marginBottom: 45,
width: 500,
height: 400,
color: {
legend: false
},
x: {
tickFormat: Math.abs,
anchor: "bottom",
label: "← Mujeres | Hombres → \n (en miles de personas)",
labelAnchor: "center",
tickFormat: function (x) {
return Math.abs(x / 1000);
}
},
y: {
ticks: [0, 10, 20, 30, 40, 50, 60, 70, 80],
domain: [0, 81],
labelAnchor: "top"
},
marks: [
Plot.ruleY([0]),
Plot.ruleX([0], { stroke: "grey", strokeWidth: 0.5 }),
Plot.lineY(
data.filter((d) => d.Edad < 80 && d.Sexo === "F"),
{
x: (d) => (d.Sexo === "F" ? d.Población * -1 : d.Población),
y: "Edad",
z: "Año",
stroke: (d) => (d.Año === año_selected ? "darkred" : "lightgrey"),
strokeWidth: (d) => (d.Año === año_selected ? 2 : 0.25),
curve: "step-before"
}
),
Plot.lineY(
data.filter((d) => d.Edad < 80 && d.Sexo === "M"),
{
x: (d) => (d.Sexo === "F" ? d.Población * -1 : d.Población),
y: "Edad",
z: "Año",
stroke: (d) => (d.Año === año_selected ? "darkred" : "lightgrey"),
strokeWidth: (d) => (d.Año === año_selected ? 2 : 0.25),
curve: "step-before"
}
),
Plot.textX(
[...new Set(data.map((d) => d.Año))].filter((d) => d === año_selected),
{
x: 300000,
y: 75,
text: (d) => d3.format("")(d),
fontSize: 30,
strokeWidth: 0.1,
strokeOpacity: 0.5
}
)
]
})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more