d3.select(gdmockup).selectAll("g.person")
.data(gdmockdata)
.join("g")
.each((d,i,nodes) => {
let g = d3.select(nodes[i]);
let ageDeathPercent = Math.round(d.ageDeath / d.ageProjected * 100);
let gradient = g.append("defs").append("linearGradient");
gradient.attr("id", "g" + i);
gradient.attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%");
gradient.append("stop").attr("offset","0%").attr("stop-color",color1);
gradient.append("stop").attr("offset",ageDeathPercent + "%").attr("stop-color",color1);
gradient.append("stop").attr("offset",ageDeathPercent + "%").attr("stop-color",color1).attr("stop-opacity",0.2);
gradient.append("stop").attr("offset","100%").attr("stop-color",color1).attr("stop-opacity",0.2);
let arcRadius = d.ageProjected * 5;
let arcEndX = d.ageProjected * 7;
g.append("path")
.attr("d", "M 20,200 A " + arcRadius + " " + arcRadius + " 0 0 1 " + arcEndX + ",200")
.style("fill","none")
.style("stroke", "url(#g" + i + ")")
})