chart = {
const svg = d3.select(DOM.svg(width, height));
svg.append("g")
.selectAll("g")
.data(data)
.enter().append("g")
.attr("fill", (d, i) => color(data.keys[i]))
.selectAll("rect")
.data(d => d)
.enter().append("rect")
.attr("x", (d, i) => x(data.names[i]))
.attr("y", d => y(d[1]))
.attr("height", d => y(d[0]) - y(d[1]))
.attr("width", x.bandwidth());
svg.append("g")
.call(xAxis);
svg.append("g")
.call(yAxis);
svg.append("g")
.attr("transform", `translate(${width - margin.right},${margin.top})`)
.call(legend);
return svg.node();
}