chart = {
const svg = d3.select(DOM.svg(width, height))
const g = svg.attr('width', width + margin.left)
.attr('height', height + margin.top + margin.bottom)
.append('g')
.attr('transform', 'translate(' + margin.left + ',0)')
g.append('g')
.attr('transform', 'translate(0,' + height + ')')
.call(d3.axisBottom(x_scale))
g.append('g')
.call(d3.axisLeft(y_scale))
dataset.map((item) => {
svg.selectAll('.dot')
.data(item.data)
.enter().append('circle')
.attr('r', 5)
.attr('fill', item.color)
.attr('cx', (d, i) => (x_scale(i) + margin.left))
.attr('cy', (d) => y_scale(d.y))
})
return svg.node()
}