chart = {
const svg = d3.select(DOM.svg(width, height))
const barGroups = svg.append('g')
.selectAll('g')
.data(data)
.join('g')
.attr('transform', d => `translate(0, ${ y0(d[groupKey]) })`)
let bars = barGroups.selectAll('rect')
.data(d => keys.map(key => ({ key, value: d[key] })))
.join('rect')
.attr('x', margin.left)
.attr('y', d => y1(d.key))
.attr('width', d => x(d.value))
.attr('height', d => y1.bandwidth())
.attr('fill', d => color(d.key))
svg.append('g')
.call(xAxis)
svg.append('g')
.call(yAxis)
return svg.node()
}