data = {
let data = await FileAttachment('timeseries.json').json()
const dateParse = d3.timeParse('%Y-%m-%d')
data.forEach(d => {
d.date = dateParse(d.date),
d.value = d.new_confirmed_cases_seven_day_average_per_100k
})
data = data.filter(d => d.date > dateParse('2020-04-25'))
const dates = Array.from(d3.group(data, d => +d.date).keys()).sort(d3.ascending)
return {
dates: dates.map(d => new Date(d)),
series: d3.groups(data, d => d.region)
.map(([name, values]) => {
const value = new Map(values.map(d => [+d.date, d.value]))
return { name, values: dates.map(d => value.get(d)) }
})
}
}