{
const svg = d3.create('svg')
.attr('width', 300)
.attr('height', 300)
const intX = d3.interpolateBasis([50, 50, 150, 250, 50]),
intY = d3.interpolateBasis([20, 280, 150, 280, 20])
svg.append('circle')
.attr('cx', intX(0))
.attr('cy', intY(0))
.attr('r', 15)
.transition()
.delay(500)
.duration(4000)
.attrTween('cx', () => intX)
.attrTween('cy', () => intY)
.styleTween('fill', () => d3.interpolateInferno)
return svg.node()
}