{
const width = 400;
const height = 300;
const svg = d3
.create('svg')
.attr('width', width)
.attr('height', height);
svg
.append('rect')
.attr('width', width)
.attr('height', height)
.attr('fill', '#f0ffff');
const g = svg
.append('g')
.attr('fill', 'blue')
.attr('fill-opacity', 0.1)
.attr('stroke-width', 8);
g.append('circle')
.attr('cx', width * 0.2)
.attr('cy', height * 0.2)
.attr('r', 50)
.attr('stroke', 'red');
g.append('circle')
.attr('cx', width * 0.5)
.attr('cy', height * 0.2)
.attr('r', 50)
.attr('stroke', 'green');
g.append('circle')
.attr('cx', width * 0.8)
.attr('cy', height * 0.2)
.attr('r', 50)
.attr('stroke', 'blue');
g.append('circle')
.attr('cx', width * 0.35)
.attr('cy', height * 0.4)
.attr('r', 50)
.attr('stroke', 'orange');
g.append('circle')
.attr('cx', width * 0.65)
.attr('cy', height * 0.4)
.attr('r', 50)
.attr('stroke', 'brown');
g.append('circle')
.attr('cx', width * 0.5)
.attr('cy', height * 0.6)
.attr('r', 50)
.attr('stroke', 'pink');
return svg.node();
}