Я создаю путь, который следует за аркой вдоль кольцевой диаграммы. Это рендеринг 12 путей, которые составляют весь мой пончик. Я пытаюсь выяснить, как сделать удар только по левой и правой стороне каждого пути. Один из моих путей выглядит следующим образом (остальные на этом l oop сидят рядом с ним).
<path stroke-width="0.4" fill="none" d="M-124.0972400982391,-124.09724009823911A175.50000000000003,175.50000000000003,0,0,1,45.422742415492394,-169.51998251373152L42.705142441915925,-159.37776133769628A165,165,0,0,0,-116.67261889578033,-116.67261889578035Z" stroke="#EAEDED"></path>
в d3 это выглядит как
const radius = Math.min(width, height) / 2;
const graph = new Array(6).fill(1); // 6 equal sections
const gridPie = d3
.pie()
.startAngle(startAngle)
.endAngle(endAngle)
.sort(null)
.value(d => d);
const arc = d3
.arc()
.innerRadius(radius * innerFactor)
.outerRadius(radius * outerFactor);
svg
.append("g")
.selectAll("path")
.data(gridPie(graph))
.join("path")
.attr("stroke-width", 0.4)
.attr("fill", "none")
.attr("d", arc)
.attr("stroke", "#EAEDED")
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
Вот коды и ящик для проекта, над которым я работаю. Данная область находится в строке 84 колеса. js файл. https://codesandbox.io/s/pedantic-haze-rzpz2?fontsize=14&hidenavigation=1&theme=dark