... join.enter() .append("circle") .style("fill", function(x){return x.colour}) .attr("r", 10) .attr("cx", function(x){return xScale(x.weight)}) .attr("cy", function(x){return yScale(x.height)}) .on("click", onClick) ... function onClick(datum, index){ data[index].height = 1000; draw(data); } ...