chart = {
const svg = d3.create('svg')
.attr("viewBox", [0, 0, width, height]);
svg.append('g')
.selectAll('g')
.data(data)
.enter().append('g')
.attr("transform", d => `translate(${scale.x1(d.year)}, 0)`)
.selectAll('rect')
.data(d => data.filter(da => da.year == d.year))
.enter().append('rect')
.attr("x", d => scale.x2(d.index))
.attr("y", d => scale.y(d.value))
.attr("width", scale.x2.bandwidth())
.attr("height", d => scale.y(0) - scale.y(d.value))
.attr("fill", d => scale.c(d.index));
svg.append("g").call(xAxis1);
svg.append("g").call(yAxis);
return svg.node()
}