{
landguzzlers.selectAll(".guzzlerrects")
.data(data)
.join("rect")
.attr("x", 0)
.attr("y", d => basepointY - Math.sqrt(Number(d["footprint"]))*954+60)
.attr("width", d => Math.sqrt(Number(d["footprint"]))*954)
.attr("height", d => Math.sqrt(Number(d["footprint"]))*954)
.style("fill", (d,i) => colors[i])
.attr("class", "guzzlerrects");
landguzzlers.selectAll(".guzzlertitles")
.data(data)
.join("text")
.text(d => d["title"])
.attr('x', function(d,i) {
if (i == 5) {
return Math.sqrt(Number(d["footprint"]))*954 + 147
} else {
return Math.sqrt(Number(d["footprint"]))*954 - 5
}})
.attr("y", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 90)
.attr("class", "guzzlertitles");
landguzzlers.selectAll(".guzzlersubtitles1")
.data(data)
.join("text")
.text(function(d,i) {
if (i==5) {
return "Eco-footprint:"
} else {
return d["subtitle"]
}
})
.attr("x", function(d,i) {
if (i==5) {
return Math.sqrt(Number(d["footprint"]))*954 + 115
} else {
return Math.sqrt(Number(d["footprint"]))*954 - 30
}
})
.attr("y", function(d,i) {
if (i==5) {
return basepointY - Math.sqrt(Number(d["footprint"]))*954 + 110
} else {
return basepointY - Math.sqrt(Number(d["footprint"]))*954 + 120
}
})
.attr("class", "guzzlersubtitles1");
landguzzlers.selectAll(".guzzlersubtitles2")
.data(data)
.join("text")
.text(function(d,i) {
if (i==5) {
return d["footprint"] + " hectares"
} else {
return d["subtitle2"]
}
})
.attr("x", function(d,i) {
if (i==5) {
return Math.sqrt(Number(d["footprint"]))*954 + 125
} else {
return Math.sqrt(Number(d["footprint"]))*954 - 30
}
})
.attr("y", function(d,i) {
if (i==5) {
return basepointY - Math.sqrt(Number(d["footprint"]))*954 + 130
} else {
return basepointY - Math.sqrt(Number(d["footprint"]))*954 + 140
}
})
.attr("class", "guzzlersubtitles2");
landguzzlers.selectAll(".guzzlersubtitles3")
.data(data)
.join("text")
.text(d => d["subtitle3"])
.attr("x", d => Math.sqrt(Number(d["footprint"]))*954 - 30)
.attr("y", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 160)
.attr("class", "guzzlersubtitles3");
landguzzlers.selectAll(".rotatedtext")
.data(data_rotated)
.join("text")
.text(d => "Eco-footprint: " + d["footprint"] + " hectares")
.classed('rotation', true)
.attr('transform', d =>{
return 'translate( '+(Math.sqrt(Number(d["footprint"]))*954 - 20)+' , '+(basepointY - Math.sqrt(Number(d["footprint"]))*954 + 100)+'),'+ 'rotate(90)';})
.attr("class", "rotatedtext");
landguzzlers.selectAll(".hline")
.data(data_lines)
.join("line")
.attr("x1", d => Math.sqrt(Number(d["footprint"]))*954 - 370)
.attr("x2", d => Math.sqrt(Number(d["footprint"]))*954 - 27)
.attr("y1", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 100)
.attr("y2", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 100)
.attr("class", "hline");
landguzzlers.selectAll(".vline")
.data(data_lines)
.join("line")
.attr("x1", d => Math.sqrt(Number(d["footprint"]))*954 - 27)
.attr("x2", d => Math.sqrt(Number(d["footprint"]))*954 - 27)
.attr("y1", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 100)
.attr("y2", d => basepointY - Math.sqrt(Number(d["footprint"]))*954 + 170)
.attr("class", "vline");
}