{
let altezza = 500
let marginTop = 20
let marginBottom = 50
let marginLeft = 80
let marginRight = 20
let svg = d3.create("svg")
.attr("height", altezza)
.attr("width", width);
let gruppi = svg.selectAll("g")
.data(cars)
.join("g");
let xScale = d3.scaleLinear()
.range([marginLeft, width - marginRight])
.domain(d3.extent(cars, d=>d["weight (lb)"]));
let yScale = d3.scaleLinear()
.range([altezza - marginBottom, marginTop])
.domain(d3.extent(cars, d=>d["displacement (cc)"]));
gruppi
.attr("transform", (d)=> "translate(" + xScale(d["weight (lb)"]) + ", " + yScale(d["displacement (cc)"]) + ")");
gruppi.append("circle")
.attr("cx", 0)
.attr("cy", 0)
.attr("r", 6)
.attr("fill", "#ff3399")
svg.append("g")
.attr("transform", "translate(0, " + (altezza - marginBottom) + ")")
.call(d3.axisBottom(xScale));
svg.append("g")
.attr("transform", "translate(" + marginLeft + ", 0)")
.call(d3.axisLeft(yScale));
svg.append("text")
.attr("x", width/2)
.attr("y", altezza + 20 - marginBottom/2)
.attr("text-anchor", "middle")
.text("Weight (lb)");
svg.append("text")
.attr("x", marginLeft/2 - 10)
.attr("y", - marginTop + altezza/2)
.attr("text-anchor", "middle")
.attr("transform", "rotate(90, " + (marginLeft / 2 - 10) + ", " + (-marginTop + altezza / 2) + ")")
.text("Displacement (cc)");
return svg.node()
}