Javascript 如何使径向梯度从饼图的中心开始?

Javascript 如何使径向梯度从饼图的中心开始?,javascript,css,d3.js,Javascript,Css,D3.js,在中,我集成了一个径向梯度。问题是每个饼都有一个梯度。我想要一个普通的梯度,它从饼图的中心开始 我试过: var arc = d3.svg.arc() .attr('fill', 'url(#gradient)') .outerRadius(function(d) { return 50 + (radius - 50) * d.data.percent / 100; }) .innerRadius(20); 但这没用 如何使径向梯度从饼图的中心开始 在JSFIDLE中,您使用了错误的属性。径向

在中,我集成了一个径向梯度。问题是每个饼都有一个梯度。我想要一个普通的梯度,它从饼图的中心开始

我试过:

var arc = d3.svg.arc()
.attr('fill', 'url(#gradient)')
.outerRadius(function(d) { return 50 + (radius - 50) * d.data.percent / 100; })
.innerRadius(20);
但这没用

如何使径向梯度从饼图的中心开始


在JSFIDLE中,您使用了错误的属性。径向梯度没有x1、x2等。它有cx、cy等

标记上,添加一个名为的属性,并将其值设置为
“userSpaceOnUse”

这意味着将为整个SVG考虑渐变属性百分比(cx、cy等),而不仅仅是特定形状。然后根据需要调整值


以下是可行的解决方案:

我认为这是可行的。但是渐变的中心不在饼图的中心。我该如何移动它@RahulDesai您必须根据需要调整
cx
cy
r
+这是一个很好的答案。