{
const svg = d3.create("svg").attr("viewBox", [0, 0, width, height]);
const iwidth = width - margin.left - margin.right;
const g = svg
.append("g")
.attr("transform", `translate(${margin.left}, ${margin.top})`);
const sampleData = data.slice(0, 5);
const x = d3
.scaleLinear()
.domain(d3.extent(sampleData, (d) => d[quantAttrib]))
.range([0, iwidth / 6])
.nice();
g.selectAll(".row")
.data(sampleData)
.join("g")
.attr(
"transform",
(d, i) => `translate(${Math.random() * width * 0.7}, ${i * 20})`
)
.call(d3.axisTop(x).ticks(3))
.append("circle")
.attr("r", 5)
.attr("cx", (d) => x(d[quantAttrib]))
.attr("cy", 5)
.attr("fill", "steelblue");
return svg.node();
}