chartData = {
const byHour = d3.rollup(
smart_gridParsed,
v => ({
avgSolar: d3.mean(v, d => d.Solar),
avgWind: d3.mean(v, d => d.Wind)
}),
d => d.Timestamp.getHours()
);
return Array.from(byHour, ([hour, {avgSolar, avgWind}]) => [
{Hour: hour, Source: "Solar", kW: avgSolar},
{Hour: hour, Source: "Wind", kW: avgWind}
])
.flat()
.sort((a, b) => d3.ascending(a.Hour, b.Hour));
}