chart = {
const svg = d3
.create("svg")
.attr("width", 800)
.attr("height", 500)
.attr("viewBox", [0, 0, 800, 500])
.attr("font-family", "sans-serif")
.attr("font-size", 10)
.style("display", "block");
const groupAll = svg.append("g").attr("transform", "translate(50, 50)");
const groupClosed = svg.append("g").attr("transform", "translate(50, 50)");
groupAll
.selectAll("circle")
.data(data)
.join("circle")
.attr("cx", (d) => d.x * 50)
.attr("cy", (d) => d.y * 50)
.attr("stroke-width", 8)
.attr("stroke", (d) => colorScale(d.status))
.attr("fill", "#ffffff")
.attr("r", 18);
groupClosed
.selectAll("circle")
.data(data.filter((d) => d.investigation === "closed"))
.join("circle")
.attr("cx", (d) => d.x * 50)
.attr("cy", (d) => d.y * 50)
.attr("fill", (d) => colorScale(d.status))
.attr("r", 10);
return svg.node();
}