{
let landguzzlersViz = d3.select(svgContainer)
landguzzlersViz.selectAll("rect")
.data(land_guzzlers)
.join("rect")
.attr("width", d => Math.sqrt(d['footprint']) * 1000)
.attr("height", d => Math.sqrt(d['footprint']) * 1000)
.attr("x", 0)
.attr("y", d => (1100 - (Math.sqrt(d['footprint']) * 1000) + 51.2))
.style("fill", (d,i) => colors[i]);
landguzzlersViz.selectAll(".title")
.data(land_guzzlers)
.join("text")
.attr("x", d => (Math.sqrt(d['footprint']) * 1000) - 5)
.attr("y", d => (1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30)
.text(d => d['title'])
.attr("class", "title");
landguzzlersViz.selectAll(".footprint")
.data(land_guzzlers)
.join("text")
.attr("x", d => (Math.sqrt(d['footprint']) * 1000) - 20)
.attr("y", d => (1100 - (Math.sqrt(d['footprint']) * 1000) + 51.2 + 35))
.text(d => "Eco-Footprint: " + d["footprint"] + " hectares")
.attr("transform", (d,i,nodes) => "rotate(90 " + nodes[i].getAttribute("x") + " " + nodes[i].getAttribute("y") + ")")
.attr("class", "footprint");
landguzzlersViz.selectAll("line1")
.data(land_guzzlers.filter(d => d.subtitle !== ""))
.join("line")
.attr("x1", d => ((Math.sqrt(d['footprint']) * 1000) - 5) -300)
.attr("y1", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10)
.attr("x2", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20)
.attr("y2", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10);
landguzzlersViz.selectAll("line2")
.data(land_guzzlers.filter(d => d["subtitle"] !== ""))
.join("line")
.attr("x1", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20)
.attr("y1", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10)
.attr("x2", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20)
.attr("y2", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10 +75);
landguzzlersViz.selectAll(".subtext")
.data(land_guzzlers)
.join("text")
.attr("x", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20 - 10)
.attr("y", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10 +20)
.text(d => d["subtitle"])
.attr("class", "subtext1");
landguzzlersViz.selectAll(".subtext")
.data(land_guzzlers)
.join("text")
.attr("x", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20 - 10)
.attr("y", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10 +35)
.text(d => d["subtitle2"])
.attr("class", "subtext1");
landguzzlersViz.selectAll(".subtext")
.data(land_guzzlers)
.join("text")
.attr("x", d => ((Math.sqrt(d['footprint']) * 1000) - 5) - 20 - 10)
.attr("y", d => ((1100 - ((Math.sqrt(d['footprint']) * 1000)) + 51.2) + 30) + 10 +50)
.text(d => d["subtitle3"])
.attr("class", "subtext1");
}