var svg = d3.select("svg"); var data = [ 42, 13, 69 ]; //make groups for each data point. put a circle in each group. add labels to each circle. var groups = svg.selectAll('g') .data(data) .enter() .append('g') .attr('transform', function(d, i) { var x = 50 + i*100; var y = 50 + i*100; return "translate(" + [x,y] + ")"; }); var circles = groups.append('circle') .attr({ 'cx': 0, 'cy': 0, 'r': 25, 'fill': '#999', 'stroke': '#111', 'stroke-width': 2 }); var labels = groups.append('text') .text(function(d, i) { return d; }) .attr({ 'text-anchor': 'middle', 'alignment-baseline': 'middle' }); circles.exit().remove();