Javascript D3js-在饼图中添加路径之间的透明间隙

Javascript D3js-在饼图中添加路径之间的透明间隙,javascript,svg,d3.js,Javascript,Svg,D3.js,我用d3js制作了一个简单的饼图,我想在每条路径之间添加一个透明的间隙 paths = pieWrap.selectAll("path") .data(pie(data)).enter() .append("path") .style("fill", "rgba(90, 168, 217, 1)") .style("stroke", "#FFF") .style("stroke

我用d3js制作了一个简单的饼图,我想在每条路径之间添加一个透明的间隙

paths = pieWrap.selectAll("path")
            .data(pie(data)).enter()
            .append("path")
            .style("fill", "rgba(90, 168, 217, 1)")
            .style("stroke", "#FFF")
            .style("stroke-width", "1")
            .style("stroke-opacity", "0")
            .attr("d", arc);
示例如下:

我只是想知道,在我的例子中,背景是一个图像,所以我不能使用它的颜色。 我尝试了笔划不透明度,但似乎不起作用。 使用d3js有没有合适的方法


谢谢

我有了与@Recovery相同的想法:。新增部分如下:

.attr("transform", function(path) {
    middleAngle = -Math.PI/2 + (path.startAngle+path.endAngle)/2;
    dx = 3 * Math.cos(middleAngle);
    dy = 3 * Math.sin(middleAngle);
    return "translate("+dx+", "+dy+")";
})

path
具有
startAngle
endAngle
属性。有一个计算的中间角和平移。它适用于路径之间较小的间隙。在当前示例中,每条路径都转换为半径为+3的外圆。“更宽”的间隙存在问题,圆可能“扭曲”

您是否尝试过使用分数?对不起,我可能不太清楚,我希望间隙是完全透明的。你能从中心向外变换饼的每一块n-px吗?我的想法与@Recovery建议的相同:参见
.attr(“变换”,函数(路径){…
。它适用于路径之间较小的间隙。在当前示例中,每条路径都转换为半径为+3的外圈。存在“更宽”间隙的问题,其中圆可能“扭曲”@user3714582,你应该写下来作为答案,我会投票。太好了!正是我在寻找的!谢谢!