scatter3 = {
const outersvg = d3.select(DOM.svg(svgwidth + margin.left + margin.right,
svgheight + margin.top + margin.bottom))
const svg = outersvg.append('g')
.attr("transform", "translate(" + margin.left + "," + margin.top + ")")
svg.selectAll('circle')
.data(dataset)
.enter()
.append('circle')
.attr('cx', d=> xScale(d[0]))
.attr('cy', d=> yScale(d[1]))
.attr('r', 5)
svg.selectAll('text')
.data(dataset)
.enter()
.append('text')
.attr('x', d=> xScale(d[0]))
.attr('y', d=> yScale(d[1]))
.text(d=>`[${d[0]},${d[1]}]`)
.style('fill', 'red')
svg.append("g")
.attr("transform", "translate(" + (svgwidth/2) + "," + margin.top + ")")
.call(xAxis)
svg.append("g")
.attr("transform", "translate(" + svgheight + "," + margin.top + ")")
.call(yAxis)
return outersvg.node()
}