Javascript 将d3标签放置在弧的末端

Javascript 将d3标签放置在弧的末端,javascript,d3.js,Javascript,D3.js,给定以下使用D3中的圆弧构造的速度刻度盘: segmentArc = d3.svg.arc().outerRadius(radius - chartInset).innerRadius(radius - chartInset - barWidth).startAngle(arcStartRad + startPadRad).endAngle(arcEndRad - endPadRad); 如何移动每个线段中的标签,使其在与中心相对的每个线段末端右对齐 当前添加的标签如下所示:

给定以下使用D3中的圆弧构造的速度刻度盘:

segmentArc = d3.svg.arc().outerRadius(radius - chartInset).innerRadius(radius - chartInset - barWidth).startAngle(arcStartRad + startPadRad).endAngle(arcEndRad - endPadRad);
如何移动每个线段中的标签,使其在与中心相对的每个线段末端右对齐

当前添加的标签如下所示:

        chart.append('text')
            .attr('transform', () => {

                var x = Math.round(segmentArc.centroid()[0]);
                var y = Math.round(segmentArc.centroid()[1]);

                return 'translate(' + x + ',' + y + ')';

            })
            .style("text-anchor", "middle")
            .text(sectionLabel);

我通过复制每个弧段来解决这个问题,给它一个透明的填充,使它的长度正好是原来的两倍。从这里开始,就可以简单地计算出透明圆弧的质心