Javascript D3js-在饼图中添加路径之间的透明间隙
我用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
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,你应该写下来作为答案,我会投票。太好了!正是我在寻找的!谢谢!