chart1 = {
const svg = d3.create("svg")
.attr("width", width)
.attr("height", height)
.style("font", "16px sans-serif")
.style("font-weight", "bold");
const arc = d3.arc()
.innerRadius(innerRadius)
.outerRadius(outerRadius)
.cornerRadius((outerRadius - innerRadius) / 2)
.startAngle(0)
.endAngle(d => degreesToRadians(arcScale(normalizeNoise(noise(d, offsetNoise)))));
svg.selectAll("path")
.data(points)
.enter()
.append("path")
.attr("transform", d => `translate(${d[0]},${d[1]}) rotate(${-(arcScale(normalizeNoise(noise(d, offsetNoise)))) / 2 + (arcScale(normalizeNoise(noise(d, 0))))})`)
.attr("d", arc)
.attr("fill", d => color(normalToDegree(normalizeNoise(noise(d, 0)))))
.attr("opacity", d => opacity(arcScale(normalizeNoise(noise(d, offsetNoise)))))
svg.selectAll("circle")
.data(points)
.enter()
.append("circle")
.attr("cx", d => d[0])
.attr("cy", d => d[1])
.attr("r", innerRadius / 2)
.attr("fill", "black");
return svg.node();
}