wide=FileAttachment("AR6 Graph Data - Sheet1.csv").csv({typed:true})
cols=Object.keys(wide[0]).slice(2)
flat=wide.flatMap((d)=>
cols.map((c)=>({
about:newDate(Date.UTC(d.year)),
on:newDate(Date.UTC(+c.match(/\d{4}/)[0])),
value:d[c],
series:c
}))
)
actual=wide.map((d)=>({
about:newDate(Date.UTC(d.year)),
on:newDate(Date.UTC(d.year)),
value:d.Observations,
series:"actual"
}))
Inputs.textarea({value:d3.tsvFormat(flat)})
import{swatchesasSwatches}from"@d3/color-legend"
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.