Published
Edited
Jan 27, 2022
2 stars
Insert cell
Insert cell
Insert cell
vega({
data: { values: flattened.filter((d) => d.date.endsWith("11")) },
title: {
text: ["Inflation across household expenses and geographies - Canada"],
subtitle: [
"Values for November 2002 to 2021. CPI starts at a value of 100 in 2002",
""
],
fontSize: 22
},
mark: { type: "rect", tooltip: true },
encoding: {
facet: {
field: "geo",
type: "ordinal",
columns: 2,
axis: {
fontSize: 18,
title: false
},
header: {
labelFontSize: 18
}
},
tooltip: [
{ field: "date" },
{ field: "geo" },
{ field: "item" },
{ field: "value" }
],
y: {
field: "item",
axis: {
labelFontSize: 14,
titleFontSize: 18,
labelLimit: 200,
title: false
},
sort: "value"
},
x: {
field: "date",
axis: { labelFontSize: 14, titleFontSize: 18, title: false }
},
color: {
field: "value",
type: "quantitative",
scale: { scheme: "viridis" },
legend: {
title: "CPI",
labelFontSize: 14,
titleFontSize: 18
}
}
},
resolve: { axis: { x: "independent" } }
// width: 200,
//height: 600
})
Insert cell
latest = flattened.filter((d) => d.date === "2021-09")
Insert cell
flattened = {
let flatData = [];
for (let row of data) {
let date = row.date;
let geo = row.Geo;

let workRow = { ...row };
delete workRow.date;
delete workRow.geo;

for (let key in workRow) {
flatData.push({
date: date,
geo: geo,
item: key,
value: row[key]
});
}
}
return flatData;
}
Insert cell
data = FileAttachment("MMM-CPI@1.csv").csv()
Insert cell
vega = require("vega-embed@6")
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